[PATCH] Qt 4.4 - Fix alien widgets in Dolphin

Robert Knight robertknight at gmail.com
Sun Feb 17 23:09:28 GMT 2008


Patches for KPassivePopup , KMessageBox attached.

On 17/02/2008, Robert Knight <robertknight at gmail.com> wrote:
> Hi David,
>
> The attached patch attempts to fix this inside KIO by taking the top
> level window associated with the passed widget in
> JobUiDelegate::setWindow().
>
> The patch does change the semantics of the API slightly since it
> becomes possible that JobUiDelegate::window() does not return the same
> value passed to JobUiDelegate::setWindow().
>
> QWidget does provide an alternative, effectiveWinId() which goes up
> the widget chain and finds the first widget that does have an X11
> window associated with it and returns the id of that.  The setWindow()
> change is simpler since it only occurs in one place.
>
> Regards,
> Robert.
>
> On 15/02/2008, David Faure <faure at kde.org> wrote:
> > On Thursday 14 February 2008, Robert Knight wrote:
> > > Since the actual call to winId() happens deep inside KIO, perhaps it
> > > would be better to put a fix there and only ever get winIds for
> > > top-level widgets to prevent applications doing this accidentally.
> > > Thoughts?
> >
> > Yes. We take the winId in several places in KIO, but in every case, the toplevel would
> > be fine, it's only about associating dialogs from other processes (e.g. the cookie dialog)
> > with the toplevel window that requested the KIO operation.
> >
> > --
> > David Faure, faure at kde.org, sponsored by Trolltech to work on KDE,
> > Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
> >
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kdelibs_kdeui_winid_fix_kmessagebox.patch
Type: text/x-patch
Size: 6555 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080217/bf5b18b7/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kdelibs_kdeui_winid_fix_kpassivepopup.patch
Type: text/x-patch
Size: 414 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080217/bf5b18b7/attachment-0001.bin>


More information about the kde-core-devel mailing list