D7127: ignore spurious resize events to empty sizes
cfeck added a comment. The commit still says "size != oldSize". Is this correct? REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D7127 To: mart, #plasma, davidedmundson Cc: cfeck, davidedmundson, broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
This revision was automatically updated to reflect the committed changes. Closed by commit R242:0c27df529d80: ignore spurious resize events to empty sizes (authored by mart). REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D7127?vs=17832&id=17834 REVISION DETAIL https://phabricator.kde.org/D7127 AFFECTED FILES src/plasmaquick/dialog.cpp To: mart, #plasma, davidedmundson Cc: davidedmundson, broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
mart updated this revision to Diff 17832. mart added a comment. more comments REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D7127?vs=17712&id=17832 BRANCH master REVISION DETAIL https://phabricator.kde.org/D7127 AFFECTED FILES src/plasmaquick/dialog.cpp To: mart, #plasma, davidedmundson Cc: davidedmundson, broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
davidedmundson accepted this revision. davidedmundson added a comment. This revision is now accepted and ready to land. thanks! add some code comments. REPOSITORY R242 Plasma Framework (Library) BRANCH arcpatch-D7127 REVISION DETAIL https://phabricator.kde.org/D7127 To: mart, #plasma, davidedmundson Cc: davidedmundson, broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
mart added a comment. finally figured out where this event is generated: it's a spontaneous event generated in qguiapplication.cpp QGuiApplicationPrivate::processWindowScreenChangedEvent around line 2209 QWindowSystemInterfacePrivate::GeometryChangeEvent gce(window, QHighDpi::fromNativePixels(window->handle()->geometry(), window), QRect()); this happens even before the first show event, right after the window has been created, the window is still 0x0, but the resize event gets delivered with 0x0 again and executed with all the bad side effects this seems to happen for every window when there are multiple screens, so something we have probably to watch out for in the future REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D7127 To: mart, #plasma, davidedmundson Cc: davidedmundson, broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
mart marked an inline comment as done. mart added a comment. not sure how to proceed in debugging this, as all i have is a resize event handler being called, which a backtrace there is useless to figure out who is resizing it REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D7127 To: mart, #plasma, davidedmundson Cc: davidedmundson, broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
davidedmundson requested changes to this revision. davidedmundson added a comment. This revision now requires changes to proceed. > on multiscreen systems, the notification dialog gets resized to 0x0 > by someone else (either kwin, notification applet or Qt code) So which is it? REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D7127 To: mart, #plasma, davidedmundson Cc: davidedmundson, broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
mart updated this revision to Diff 17712. mart added a comment. - fix check REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D7127?vs=17704&id=17712 BRANCH arcpatch-D7127 REVISION DETAIL https://phabricator.kde.org/D7127 AFFECTED FILES src/plasmaquick/dialog.cpp To: mart, #plasma Cc: broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
mart marked an inline comment as done. mart added inline comments. INLINE COMMENTS > broulik wrote in dialog.cpp:1045 > So it will never update its size? Shouldn't it be size == oldSize? ouch, sure, sorry :) REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D7127 To: mart, #plasma Cc: broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
broulik added inline comments. INLINE COMMENTS > dialog.cpp:1045 > > +if (re->size().isEmpty() || re->size() != re->oldSize()) { > +return; So it will never update its size? Shouldn't it be size == oldSize? REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D7127 To: mart, #plasma Cc: broulik, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
D7127: ignore spurious resize events to empty sizes
mart created this revision. Restricted Application added projects: Plasma, Frameworks. Restricted Application added subscribers: Frameworks, plasma-devel. REVISION SUMMARY on multiscreen systems, the notification dialog gets resized to 0x0 right after componentcomplete by someone else (either kwin, notification applet or Qt code) causing 382340, resizing a window to a null size is not correct anyways and should never happen. with this, all other resize events are correct and notifications are ok on multiscreen systems BUG:382340 TEST PLAN system with primary monitor and panel in the external monitor at the right of a panel, notifications are fine REPOSITORY R242 Plasma Framework (Library) BRANCH master REVISION DETAIL https://phabricator.kde.org/D7127 AFFECTED FILES src/plasmaquick/dialog.cpp To: mart, #plasma Cc: plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas