Re: [Interest] QDBusConnection::sessionBus() : caching required?

2016-05-31 Thread Thiago Macieira
On quarta-feira, 1 de junho de 2016 00:07:18 BRT René J. V. Bertin wrote:
> Here's another observation (& backtrace) potentially to be taken into
> account  for your fix: when I don't get a crash-on-exit I often get a
> deadlock like so:

Make sure you've applied the fix that the change I sent depends on, on top of 
current 5.6 branch. If that still happens with both fixes, please open a bug 
report. Note that when reporting a deadlock, it's important to show the 
backtrace from all threads. If only one is still running, clearly say so.

A testcase would be appreciated.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QDBusConnection::sessionBus() : caching required?

2016-05-31 Thread René J . V . Bertin
Thiago Macieira wrote:

> You can call multiple times and you'll always get the same connection.

OK, thanks.

Here's another observation (& backtrace) potentially to be taken into account 
for your fix: when I don't get a crash-on-exit I often get a deadlock like so:

  * frame #0: 0x7fff85129716 libsystem_kernel.dylib`__psynch_cvwait + 10
frame #1: 0x7fff8af34c3b libsystem_pthread.dylib`_pthread_cond_wait + 
727
frame #2: 0x000112abc77b 
QtCore`QWaitConditionPrivate::wait(this=0x7fda59e5a300, time=) 
+ 75 at qwaitcondition_unix.cpp:136
frame #3: 0x000112abc62b 
QtCore`QWaitCondition::wait(this=0x7fda59e517d8, mutex=0x7fda59e517d0, 
time=18446744073709551615) + 155 at qwaitcondition_unix.cpp:208
frame #4: 0x000112ab683f 
QtCore`QSemaphore::acquire(this=0x7fff50614d38, n=1) + 79 at 
qsemaphore.cpp:137
frame #5: 0x000112cadc13 
QtCore`QMetaObject::activate(sender=0x7fda59c56500, 
signalOffset=, local_signal_index=, 
argv=) + 2499 at qobject.cpp:3698
frame #6: 0x00011134f280 
QtDBus`QDBusConnectionPrivate::signalNeedsDisconnecting(this=, 
_t1=, _t2=) + 64 at moc_qdbusconnection_p.cpp:345
frame #7: 0x0001113135ff 
QtDBus`QDBusConnectionPrivate::disconnectSignal(this=0x7fda59c56500, 
service=, path=, interface=, 
name=, argumentMatch=, signature=, 
receiver=, slot=) + 287 at qdbusintegrator.cpp:2188
frame #8: 0x0001113008fb QtDBus`QDBusConnection::disconnect(QString 
const&, QString const&, QString const&, QString const&, QObject*, char const*) 
[inlined] QStringList::QStringList(this=0x000112eed470, 
this=0x000112eed470, this=0x000112eecc30, this=0x000112eecc30, 
argumentMatch=0x000112eed470, signature=0x000112eecc30, 
receiver=) + 158 at qdbusconnection.cpp:864
frame #9: 0x00011130085d 
QtDBus`QDBusConnection::disconnect(this=0x7fda5c51b9e0, 
service=0x7fff50614ff8, path=0x7fff50614ff0, 
interface=0x7fff50614fe8, name=0x7fff50614fe0, 
receiver=0x7fda5a191000, slot=0x00011f0532d8) + 29 at 
qdbusconnection.cpp:822
frame #10: 0x00011eff0e88 
qtcurve.so`QtCurve::Style::disconnectDBus(this=0x7fda5a191000) + 168 at 
qtcurve.cpp:712
frame #11: 0x00011f029e96 
qtcurve.so`QtCurve::StylePlugin::~StylePlugin() [inlined] 
QtCurve::runAllCleanups() + 13 at qtcurve_plugin.cpp:86
frame #12: 0x00011f029e89 
qtcurve.so`QtCurve::StylePlugin::~StylePlugin() [inlined] 
QtCurve::StylePlugin::~StylePlugin(this=) + 16 at 
qtcurve_plugin.cpp:167
frame #13: 0x00011f029e79 
qtcurve.so`QtCurve::StylePlugin::~StylePlugin() [inlined] 
QtCurve::StylePlugin::~StylePlugin(this=) at qtcurve_plugin.cpp:166
frame #14: 0x00011f029e79 
qtcurve.so`QtCurve::StylePlugin::~StylePlugin(this=) + 9 at 
qtcurve_plugin.cpp:166
frame #15: 0x000112c6e24d 
QtCore`QLibraryPrivate::unload(this=0x7fda59e51230, flag=NoUnloadSys) + 93 
at qlibrary.cpp:551
frame #16: 0x000112c66d48 
QtCore`QFactoryLoaderPrivate::~QFactoryLoaderPrivate(this=0x7fda59e50ca0) + 
88 at qfactoryloader.cpp:88
frame #17: 0x000112c6714e 
QtCore`QFactoryLoaderPrivate::~QFactoryLoaderPrivate() [inlined] 
QFactoryLoaderPrivate::~QFactoryLoaderPrivate(this=0x7fda59e50ca0) + 14 at 
qfactoryloader.cpp:85
frame #18: 0x000112c67149 
QtCore`QFactoryLoaderPrivate::~QFactoryLoaderPrivate(this=0x7fda59e50ca0) + 
9 at qfactoryloader.cpp:85
frame #19: 0x000112ca5801 QtCore`QObject::~QObject() [inlined] 
QScopedPointerDeleter::cleanup(pointer=) + 2033 at 
qscopedpointer.h:54
frame #20: 0x000112ca57f6 QtCore`QObject::~QObject() [inlined] 
QScopedPointer::~QScopedPointer() + 4 at qscopedpointer.h:101
frame #21: 0x000112ca57f2 QtCore`QObject::~QObject() [inlined] 
QScopedPointer::~QScopedPointer() at qscopedpointer.h:99
frame #22: 0x000112ca57f2 QtCore`QObject::~QObject(this=) 
+ 
2018 at qobject.cpp:1042
frame #23: 0x000112c6928e QtCore`QFactoryLoader::~QFactoryLoader() 
[inlined] QFactoryLoader::~QFactoryLoader(this=0x7fda59e2a3a0) + 14 at 
qfactoryloader.cpp:227
frame #24: 0x000112c69289 
QtCore`QFactoryLoader::~QFactoryLoader(this=0x7fda59e2a3a0) + 9 at 
qfactoryloader.cpp:227
frame #25: 0x000111b93616 QtWidgets`(anonymous 
namespace)::Q_QGS_loader::innerFunction()::Cleanup::~Cleanup() [inlined] 
(anonymous namespace)::Q_QGS_loader::innerFunction()::Cleanup::~Cleanup() + 18 
at qstylefactory.cpp:70
frame #26: 0x000111b93604 QtWidgets`(anonymous 
namespace)::Q_QGS_loader::innerFunction(this=)::Cleanup::~Cleanup()
 
+ 4 at qstylefactory.cpp:70
frame #27: 0x7fff8342d7b5 libsystem_c.dylib`__cxa_finalize + 177


That one goes away when I simply don't disconnect (but that apparently 
sometimes 
led to segfaults on Linux when events came in after the receiver was deleted 
(and the style plugin was already 

Re: [Interest] QDBusConnection::sessionBus() : caching required?

2016-05-31 Thread Thiago Macieira
On terça-feira, 31 de maio de 2016 23:12:15 BRT René J. V. Bertin wrote:
> Using QtDBus during global destruction aside, can one use
> QDbusConnection::sessionBus() multiple times or will that create so many
> connections to the session bus? The documentation doesn't seem to make that
> explicit, and your answer above could also apply only to using the method
> during global take-down.

You can call multiple times and you'll always get the same connection.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QDBusConnection::sessionBus() : caching required?

2016-05-31 Thread René J . V . Bertin
Thiago Macieira wrote:

>> It's not correct practice.
>>
>> The problem is attempting to use QtDBus during global destruction.
>> Apparently QtDBus has already destroyed its internals.
>>
>> I can add a few protections for that.
> 
> https://codereview.qt-project.org/161056

Ah, thanks for the quick reaction. I'll test your patch tomorrow.

Using QtDBus during global destruction aside, can one use 
QDbusConnection::sessionBus() multiple times or will that create so many 
connections to the session bus? The documentation doesn't seem to make that 
explicit, and your answer above could also apply only to using the method 
during 
global take-down.

R.

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QDBusConnection::sessionBus() : caching required?

2016-05-31 Thread Thiago Macieira
On terça-feira, 31 de maio de 2016 17:26:04 BRT Thiago Macieira wrote:
> On terça-feira, 31 de maio de 2016 21:27:59 BRT René J.V. Bertin wrote:
> > just like the ctor does when setting up DBus. Is that correct practice or
> > should one somehow cache the result of sessionBus() in order to call it
> > only once?
> 
> It's not correct practice.
> 
> The problem is attempting to use QtDBus during global destruction.
> Apparently QtDBus has already destroyed its internals.
> 
> I can add a few protections for that.

https://codereview.qt-project.org/161056

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QDBusConnection::sessionBus() : caching required?

2016-05-31 Thread Thiago Macieira
On terça-feira, 31 de maio de 2016 21:27:59 BRT René J.V. Bertin wrote:
> just like the ctor does when setting up DBus. Is that correct practice or
> should one somehow cache the result of sessionBus() in order to call it
> only once?

It's not correct practice.

The problem is attempting to use QtDBus during global destruction. Apparently 
QtDBus has already destroyed its internals.

I can add a few protections for that.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] QDBusConnection::sessionBus() : caching required?

2016-05-31 Thread René J . V . Bertin
Hi,

I had a crash in QDBusConnection::sessionBus() earlier today, called from a 
dtor in a style plugin. The traceback showed a NULL "this" pointer (frame #12):

frame #4: 0x7fff8b9035aa libsystem_platform.dylib`_sigtramp + 26
frame #5: 0x00010a30b15f QtCore`QMutex::lock() [inlined] 
std::__1::__atomic_base::compare_exchange_strong(__m=) + 1 at atomic:622
frame #6: 0x00010a30b15e QtCore`QMutex::lock() [inlined] bool 
QAtomicOps::testAndSetAcquire(std::__1::atomic&,
 QMutexData*, QMutexData*, QMutexData**) at qatomic_cxx11.h:158
frame #7: 0x00010a30b15e QtCore`QMutex::lock() [inlined] 
QBasicAtomicPointer::testAndSetAcquire(QMutexData*, QMutexData*, 
QMutexData*&) at qbasicatomic.h:276
frame #8: 0x00010a30b15e QtCore`QMutex::lock() [inlined] 
QBasicMutex::fastTryLock(QMutexData*&) at qmutex.h:82
frame #9: 0x00010a30b15e QtCore`QMutex::lock(this=0x0020) + 
14 at qmutex.cpp:219
frame #10: 0x000108b60f31 
QtDBus`QDBusConnectionManager::busConnection(QDBusConnection::BusType) 
[inlined] QMutexLocker::QMutexLocker(m=0x0020) + 81 at qmutex.h:128
frame #11: 0x000108b60f29 
QtDBus`QDBusConnectionManager::busConnection(QDBusConnection::BusType) 
[inlined] QMutexLocker::QMutexLocker(m=0x0020) at qmutex.h:131
frame #12: 0x000108b60f29 
QtDBus`QDBusConnectionManager::busConnection(this=0x, 
type=SessionBus) + 73 at qdbusconnection.cpp:116
frame #13: 0x000108b63878 QtDBus`QDBusConnection::sessionBus() + 24 at 
qdbusconnection.cpp:1180

the dtor cannot do a double disconnect or something of the sort as far as I can 
see. It does however do

auto bus = QDBusConnection::sessionBus();

just like the ctor does when setting up DBus. Is that correct practice or 
should one somehow cache the result of sessionBus() in order to call it only 
once?

This is Qt 5.6, btw.

Thanks,
R.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] 5.7 QWebChannel - question/observation

2016-05-31 Thread Kevin Mcintyre
With a webenginepage across page loads I needed to

setWebChannel(None)
setWebChannel(channel) # new channel

between each request.

Otherwise I would get an error message "qt is not defined" when executing
the script.

Are channels suppose to be available across the llifecycle of the
WebEnginePage?
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] About Qt StyleSheet

2016-05-31 Thread Berkay Elbir
Hi,

Actually, I think that problem is not related to any styles. If I write
this:

ui.newGroupNameLabel->setStyleSheet(" ");  also it does not have to be
QLabel. If I use QLineEdit, same problem occurs. Scenario is like that

If I call this code piece in constructor than everything is fine and you
can call setStyleSheet() function later there will be no problem. But If I
call this later for example slot of some button whatever, It occurs. It is
very strange, it affects whole widget after initialization.

Also, I know that If I use QPalette, problem does not occur but this is not
an option.


Cheers,

Berkay


On Tue, May 31, 2016 at 6:04 PM, Elvis Stansvik  wrote:

> 2016-05-31 16:20 GMT+02:00 André Somers :
>
>> Hi,
>>
>> What I _think_ happens is that you currently are using a style that does
>> not support style sheets. Only build in styles do, up to a point. If you
>> then apply a style sheet, Qt probably switches to a fall-back style that
>> _does_ support style sheets, but that has an effect on other widgets as
>> well as you noticed.
>>
>> I'd steer clear of using style sheets if you can. They generally end up
>> being more trouble than the're worth even though it seems like a simple
>> technique to use at first.
>>
> I'd also stay clear of style sheets. What you can try instead is modifying
> the foreground role of the palette with something like
>
> QPalette palette = ui.newGroupNameLabel->palette();
> palette.setColor(ui.newGroupNameLabel->foregroundRole(), Qt::black);
> ui.newGroupNameLabel->setPalette(palette);
>
> Though it's not guaranteed to work on all platforms I think.
>
> You could also create your own custom label widget instead of using
> QLabel, if you really need to change the default look. I guess using  color="#0">... is also an option.
>
> Hope that helps.
>
> Elvis
>
>> André
>>
>> Note: I did not check any of this in either docs or source code.
>>
>>
>> Op 31/05/2016 om 10:55 schreef Berkay Elbir:
>>
>> Hello All,
>>
>> I have a problem about Qt Stylesheets. I use this code piece, this is a
>> QLabel inside a QDialog.
>>
>> ui.newGroupNameLabel->setStyleSheet("QLabel { color : black; }");
>>
>> I also tried giving it a name usingQObject::setObjectName() and use an ID
>> Selector to refer to it. But it still occurs.
>>
>> It affects whole project. I mean that affecting other widgets. All the
>> expand symbols change to plus sign. This QLabel is unrelated to this
>> widget(below).
>> Did anyone face with this problem?
>>
>>
>> [image: Inline image 1]
>>
>>
>> [image: Inline image 2]
>>
>> Thanks in advance,
>>
>> Berkay
>>
>>
>>
>> ___
>> Interest mailing 
>> listInterest@qt-project.orghttp://lists.qt-project.org/mailman/listinfo/interest
>>
>>
>>
>> ___
>> Interest mailing list
>> Interest@qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>>
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QTreeView expand icon changes unexpectedly Qt5.6.0 & VS2015

2016-05-31 Thread Olivier B.
Are you sure it is not https://bugreports.qt.io/browse/QTBUG-52230 ?

2016-05-28 22:59 GMT+02:00 Ben Swerts :

> Hi Anton,
>
> I noticed the same issue with VS2015 Update 2 and Qt 5.6.0 (commercial).
> Your post made me realize this seems to be related to the combination of
> these two tools.
> Our application is built with VS2013 Update 5 while I'm preparing
> everything
> for an upgrade to VS2015. I'm quite certain this issue is not present when
> compiling with VS2013.
>
> So if no one has logged a bug for this yet, I would advise you to log one.
>
> Regards,
>
>
> Ben
>
> -Original Message-
> From: Interest [mailto:interest-bounces+benswerts=
> telenet...@qt-project.org]
> On Behalf Of anton
> Sent: Friday, 27 May, 2016 23:56
> To: interest@qt-project.org
> Subject: [Interest] QTreeView expand icon changes unexpectedly Qt5.6.0 &
> VS2015
>
> Hi,
>
> I installed the following qt version on my Windows 7 (64bit):
>
>
> http://download.qt.io/official_releases/qt/5.6/5.6.0/qt-opensource-windows-x
> 86-msvc2015_64-5.6.0.exe
>
> I use Visual Studio 2015 update 2.
>
>
> I create a Qt Widget application with q QTreeView and some QComboBox'es.
>
> In my treeview I see the expand iccons:
>
> - they look like a triangle lile '>' when the treenode
>   is *not* expanded
>
> - they look like a triangle lile 'V' when the treenode
>   is not *expanded*
>
> Now I click here and there in my application, clicl on a QComboBox and now
> some strange magic happens.
>
> 1. The expand icons change to a '[+]': a plus in a rectangle
>like you know it from the windows explorer.
>
> 2. As soon as the mouse pointer hoovers over the
>expand icon it becomes *insisible*.
>
> In the Qt Designer in Qt Creator, I see the same problem, the expand icons
> (in the property pane) look like a '[+]' like in the windows explorer, but
> they becone invisible as soon as the mouse pointer is over the expand icon.
>
>
> My questions:
>
> - do you observe the same things?
> - did I forget to initialize something?
>   (don't think so because the Qt Designer has the same problem)
> - or is it a bug which will be fixed in 5.6.1 or 5.7.0 ?
>
>
> Thanks for a hint
>
>   Anton
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] About Qt StyleSheet

2016-05-31 Thread Elvis Stansvik
2016-05-31 16:20 GMT+02:00 André Somers :

> Hi,
>
> What I _think_ happens is that you currently are using a style that does
> not support style sheets. Only build in styles do, up to a point. If you
> then apply a style sheet, Qt probably switches to a fall-back style that
> _does_ support style sheets, but that has an effect on other widgets as
> well as you noticed.
>
> I'd steer clear of using style sheets if you can. They generally end up
> being more trouble than the're worth even though it seems like a simple
> technique to use at first.
>
I'd also stay clear of style sheets. What you can try instead is modifying
the foreground role of the palette with something like

QPalette palette = ui.newGroupNameLabel->palette();
palette.setColor(ui.newGroupNameLabel->foregroundRole(), Qt::black);
ui.newGroupNameLabel->setPalette(palette);

Though it's not guaranteed to work on all platforms I think.

You could also create your own custom label widget instead of using QLabel,
if you really need to change the default look. I guess using ... is also an option.

Hope that helps.

Elvis

> André
>
> Note: I did not check any of this in either docs or source code.
>
>
> Op 31/05/2016 om 10:55 schreef Berkay Elbir:
>
> Hello All,
>
> I have a problem about Qt Stylesheets. I use this code piece, this is a
> QLabel inside a QDialog.
>
> ui.newGroupNameLabel->setStyleSheet("QLabel { color : black; }");
>
> I also tried giving it a name usingQObject::setObjectName() and use an ID
> Selector to refer to it. But it still occurs.
>
> It affects whole project. I mean that affecting other widgets. All the
> expand symbols change to plus sign. This QLabel is unrelated to this
> widget(below).
> Did anyone face with this problem?
>
>
> [image: Inline image 1]
>
>
> [image: Inline image 2]
>
> Thanks in advance,
>
> Berkay
>
>
>
> ___
> Interest mailing 
> listInterest@qt-project.orghttp://lists.qt-project.org/mailman/listinfo/interest
>
>
>
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] About Qt StyleSheet

2016-05-31 Thread André Somers

Hi,

What I _think_ happens is that you currently are using a style that does 
not support style sheets. Only build in styles do, up to a point. If you 
then apply a style sheet, Qt probably switches to a fall-back style that 
_does_ support style sheets, but that has an effect on other widgets as 
well as you noticed.


I'd steer clear of using style sheets if you can. They generally end up 
being more trouble than the're worth even though it seems like a simple 
technique to use at first.


André

Note: I did not check any of this in either docs or source code.


Op 31/05/2016 om 10:55 schreef Berkay Elbir:

Hello All,

I have a problem about Qt Stylesheets. I use this code piece, this is 
a QLabel inside a QDialog.


ui.newGroupNameLabel->setStyleSheet("QLabel { color : black; }");

I also tried giving it a name usingQObject::setObjectName() and use an 
ID Selector to refer to it. But it still occurs.


It affects whole project. I mean that affecting other widgets. All the 
expand symbols change to plus sign. This QLabel is unrelated to this 
widget(below).

Did anyone face with this problem?


Inline image 1


Inline image 2

Thanks in advance,

Berkay



___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


[Interest] About Qt StyleSheet

2016-05-31 Thread Berkay Elbir
Hello All,

I have a problem about Qt Stylesheets. I use this code piece, this is a
QLabel inside a QDialog.

ui.newGroupNameLabel->setStyleSheet("QLabel { color : black; }");

I also tried giving it a name usingQObject::setObjectName() and use an ID
Selector to refer to it. But it still occurs.

It affects whole project. I mean that affecting other widgets. All the
expand symbols change to plus sign. This QLabel is unrelated to this
widget(below).
Did anyone face with this problem?


[image: Inline image 1]


[image: Inline image 2]

Thanks in advance,

Berkay
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] widget rendering (alignment, sizing) issues on OS X

2016-05-31 Thread René J . V . Bertin
On Monday May 30 2016 15:22:50 Adam Light wrote:

Hi,

>To address this in our application, we use a QProxyStyle subclass in which
>we reimplement layoutSpacing on Macintosh like so:
>
>   if (spacing > 2) {
>   spacing /= 2;
>   }

You're full of interesting suggestions :)

Initial testing shows that could indeed be a solution, though a factor two 
seems a bit too much for radio buttons. And the way I implemented it at 2am it 
also nuked the colour palette which left me with windows sporting Qt's 
proprietary gray/beige. I take it you initialise the spacing variable from 
QProxyStyle::layoutSpacing(/*arguments we received*/)?

I see 2 potential uses for this trick:
1- make a style plugin that is just a proxy for the standard (Macintosh) style 
but adds a (possibly configurable) layout spacing adjustment. No idea as yet 
how much overhead that will require for something that takes about 20 lines of 
code, but it would make the fix available to every Qt application
2- provide it via a KF5 framework so that it becomes trivial to deploy it in 
application code. The possibility to add a style selector menu came up, and 
that menu could add a virtual "Macintosh - compact" style if the "Macintosh" 
style is available on the host.

The two approaches are of course not exclusive but I'm a bit hesitant to attack 
the 1st having only quite complex style plugins to use as an example.

R.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest