<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/123746/">https://git.reviewboard.kde.org/r/123746/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Has DBusMenuQt been fixed? Or is it beyond our reach for a weird reason?</p></pre>
 <br />









<p>- Aleix Pol Gonzalez</p>


<br />
<p>On May 13th, 2015, 3:39 a.m. CEST, David Edmundson wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Plasma.</div>
<div>By David Edmundson.</div>


<p style="color: grey;"><i>Updated May 13, 2015, 3:39 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-workspace
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">DBusMenuImporter by default connects QMenu::aboutToShow to a private
slot slotMenuAboutToShow,
in this slot it reloads the menu befre it gets shown
because the menu shows just after aboutToShow() returns DBusMenuQt in
it's infinite wisdom spawns a new event loop to
block the QMenu processing till we get the network reply</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Not only is this rather pointless as all uses in Plamsa calls
updateMenu() before showing, so we fetch the menu twice
it also leads to all sorts of crazy crashes as when we process all other
events we might delete the menu from within QMenu emitting aboutToShow()
which is a very unexpected thing to do as QMenu::popup ends up with 'this' being destroyed halfway through it's
frame.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">BUG: 343971
BUG: 345838
BUG: 345933</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ideal fix is in DBusMenuQt, and I /hate/ doing workarounds, but I can't see how to solve it without <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">significantly</em> changing the API.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Opened steam
closed steam from menu
quickly click on the SNI before it exits.
Used to crash. Now doesn't.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>dataengines/statusnotifieritem/statusnotifieritemsource.cpp <span style="color: grey">(b6a50279c01076e7242afaf93d1769348ba031ba)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/123746/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>