Hello all, There is a very annoying bug left in extenders (or maybe somewhere down the stack? Qt or kwin maybe, I'm not sure), which is way over my head. Notmart and I have both looked into it for quite some time, I've consulted darktears (who seemed to think it might be a Window management thing), and I came to the conclusion that I probably won't be able to fix it before 4.2.0 without some additional help. So any ideas (or better yet patches ;)) are really appreciated. All time I put into trying to solve the bug at least gave me a lot of info on the exact set of circumstances that triggers this bug. I will try to explain as detailed as possible. If you need even more detailed information, please ask, and I might know the answer right away (I've sprankled debug code everywhere in my checkout to help me find this one).
Basic instructions to trigger this bug: Make sure you have at least one window open. Open the clocks calendar. Drag the calendar away, drag it over the window you have open, and move your mouse fast while doing it. If your computer is fast, you might also need to generate some system load to be able to reproduce. You'll notice that you can 'leave the calendar behind' when moving your mouse over another window too fast. From that moment on, the calendar will no longer move when moving the mouse, unless you move your mouse back to the item, and slowly pick it up again. Even worse, if you release your mouse button after having 'lost' the calendar the calendar will stay on top (since it won't receive an mouseReleaseEvent), and clicking and dragging it again after that causes a crash (which is reported on bko various times, but which I didn't try to solve since the crash is just a side effect of incorrect behavior). Detailed information on the exact circumstances that cause this crash: * happens when you move you're mouse fast enough for the toplevel window to not keep up (the new mouseMoveEvent would give a position outside the window) * happens when you're mouse leaves the toplevel window this way, and is over another window when this happens. * happens only when the dialog you drag the extenderitem (not only the calendar btw, any extenderitem will do as long as all these conditions are met) from a dialog which get hidden afterwards, or an extender which gets a size of '0' afterwards. This means it normally only happens when detaching the last extenderitem from an extender. When disabling the extender dialog auto hiding in extender.cpp (you can see 2 hidePopup calls in there) AND setting an emptyExtenderLabel to avoid the extender ever getting the size 0x0, this problem doesn't occur. This is what makes me think it might be a WM problem. * I've tried a couple of combinations of WM flags (including X11BypassWindowManager) without effect. Other observations: * when having lost the item and hovering (still having the mouse button pressed) over KDE3 konversation, you'll be able to drag the dividers (the thingy's that allow you to resize the nick list/channel/topic sizes. This makes me think even more that it might be a WM thing. * When you 'lose' the item, it stops receiveing any mouse events. I even implemented sceneEvent() to see if any ungrab mouse events are received (or even any events) but that isn't the case. If anybody got any idea what can cause this problem please let me know, either here on the list or on IRC (nick: pinda). Regards, Rob Scheepmaker Oh, and happy new year everybody! _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel