Review Request 118199: [klipper] Call ensurePolished() before native window of menu gets created

Martin Gräßlin mgraesslin at kde.org
Mon May 19 12:26:50 UTC 2014



> On May 19, 2014, 2:14 p.m., David Edmundson wrote:
> > So between Qt4->5 there must have been ensurePolished() removed from QWidget.
> > We restored it in QMenu, but perhaps that wasn't actually the right approach?
> 
> Martin Gräßlin wrote:
>     no, in Qt4 QWidget destroyed the native window when one changed the format of the window. In Qt 5 that doesn't happen any more. In return the klipper code was (I assume) broken in Qt 4 with Oxygen as the windowId changed later on.
> 
> David Edmundson wrote:
>     if we keep this in the ctor would calling hide() show() break?
>

no, hide() doesn't destroy the native window, it just unmaps it.


- Martin


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118199/#review58146
-----------------------------------------------------------


On May 19, 2014, 11:49 a.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118199/
> -----------------------------------------------------------
> 
> (Updated May 19, 2014, 11:49 a.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> [klipper] Call ensurePolished() before native window of menu gets created
> 
> It's important to have ensurePolished() being called before the native
> XCB window gets created. The widget style (in our case Oxygen) sets the
> RGBA hint during that call. Once the native window is created this would
> fail.
> 
> In the case of KlipperPopup the native window gets created by accessing
> the winId(), thus the ensurePolished() needs to happen before.
> 
> 
> Diffs
> -----
> 
>   klipper/klipperpopup.cpp 574f2d7a0d0b30f94c72b2e2715778f619539a00 
> 
> Diff: https://git.reviewboard.kde.org/r/118199/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20140519/000399ec/attachment.html>


More information about the Plasma-devel mailing list