> On Jan. 5, 2013, 3:13 p.m., Fredrik Höglund wrote: > > Because the XFixesSelectSelectionInput() call specifies that the event > > should be delivered to winId(). KSelectionOwner does not send XFixes > > events; they are generated by the X server. > > > > Thomas Lübking wrote: > Ok, problem is: whether by compiz, e17, kwin, xcompmgr - the event occurs > on the root but not on winId() - even for the simplistic testcase (which also > works on QApplication but for the selectionwatcher) > > I tried adding some junk into XFixesSelectSelectionInput and get a > request error (as expected) > > X Error: BadWindow (invalid Window parameter) 3 > Extension: 138 (Uknown extension) > Minor opcode: 2 (Unknown request) > Resource id: 0x3039 > > yet KWindowSystem fires on compositing toggle. > > Then i removed XFixesSelectSelectionInput - and still (patched to check > against root) KWindowSystem fires on compositing toggle. > > > > Now it gets interesting (I removed the KSelectionWatcher bits for the > last tests): > > ----------------------------------------------------------------------------------------- > If i keep XFixesSelectSelectionInput AND the check against the root > window i get after the event on root TWO additional events on the winId() > If i remove either, i get none of them (but still one on the root which > however is ignored) > > So ulitmately i just ate away (return true) selectionnotify events on the > root window and in return got ONE additional event on the winId which then > fired the signal - what is all less then ideal, since (just as the present > patch btw.) we also eat away "regular" selectionowner events. > > Fredrik Höglund wrote: > This happens because Qt compresses XFixesSelectionNotifyEvents by > deleting all events in the queue that refer to same selection except the last > one. It does this without taking the destination window or the subtype into > account, so it will randomly swallow either its own event or the event > selected by KWindowSystem. The event you see delivered to the root window is > the event selected by Qt for QX11Info::isCompositingManagerRunning(). > > > Thomas Lübking wrote: > Ok, i can see the bug in qt_xfixes_scanner. > > -> Question is, whether we should - given the Qt4 lifecycle - just work > around that for KDE4 by either relying on the Qt selection and just scanning > for the root or not relying on the Qt selection and pass on root events while > swallow winId() ones but hook on both to re-evaluate the compositing state. > > Is there any remote chance there'll be another Qt4 minor release?
> Is there any remote chance there'll be another Qt4 minor release? Ok, at least there's quite some action on the git tree and the term 4.8.5 ;-) - Thomas ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/107983/#review24751 ----------------------------------------------------------- On Jan. 5, 2013, 5:08 p.m., Thomas Lübking wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/107983/ > ----------------------------------------------------------- > > (Updated Jan. 5, 2013, 5:08 p.m.) > > > Review request for kdelibs, kwin, Plasma, Aaron J. Seigo, Marco Martin, > Martin Gräßlin, and Fredrik Höglund. > > > Description > ------- > > It works fine here (tested so far KWindowSystem signal, KSelectionWatcher > only with kwin) with kwin (shift+alt+f12), xcompmgr, compiz & "metacity -c" > and e17. > Didn't try xfce nor mutter. > > Technically: > I do not at all understand why KWindowSystem is *not* watching the root > window - KSelectionOwner for one is sending events to the root and this also > seems the case for all other WMs (at least everything now starts to cause the > signal to be emitted) > > The KSelectionWatcher failure seems to be kwin specific (wrote me a cleaner > testcase), there'll be some X11 event processing on top that eats away the > client messages. > So this one can be scratched from the patch, the KWindowSystem issue remains. > > > This addresses bug 179042. > http://bugs.kde.org/show_bug.cgi?id=179042 > > > Diffs > ----- > > kdeui/windowmanagement/kwindowsystem_x11.cpp f9b3cc1 > > Diff: http://git.reviewboard.kde.org/r/107983/diff/ > > > Testing > ------- > > see summary > > > Thanks, > > Thomas Lübking > >
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel