<table><tr><td style="">broulik created this revision.<br />broulik added a reviewer: Plasma.<br />Herald added a project: Frameworks.<br />Herald added a subscriber: kde-frameworks-devel.<br />broulik requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D20200">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Dialog has this clever way of re-sending a mouse event inside the bounardies of the dialog, so despite visual padding, the items can be clicked on any corner following Fitt's law.<br />
However, when the <tt style="background: #ebebeb; font-size: 13px;">mainItem</tt> has no size, adjusting the position will adjust it inside the border since there is no pixel inside the main item, leading to infinite recursion as the event is processed again and again and again leading to a crash.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Opened a <tt style="background: #ebebeb; font-size: 13px;">Dialog</tt> with a <tt style="background: #ebebeb; font-size: 13px;">mainItem</tt> without a <tt style="background: #ebebeb; font-size: 13px;">width</tt>, dialog showed up tiny, hovered it, no longer crashed<br />
Verified that event is still forwarded in the normal case.</p>

<p>I bet there's a tonne of crash reports like this (crash in <tt style="background: #ebebeb; font-size: 13px;">Dialog::event</tt> in recursion) on bugzilla since an empty dialog could happen in case of a failure to load some QML bits.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R242 Plasma Framework (Library)</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D20200">https://phabricator.kde.org/D20200</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/plasmaquick/dialog.cpp</div></div></div><br /><div><strong>To: </strong>broulik, Plasma<br /><strong>Cc: </strong>kde-frameworks-devel, michaelh, ngraham, bruns<br /></div>