<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:caolanm@redhat.com" title="Caolán McNamara <caolanm@redhat.com>"> <span class="fn">Caolán McNamara</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - All LibreOffice apps blocked when a save dialog is opened (Gtk)"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=97306">bug 97306</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Blocks</td>
           <td>103182
           </td>
           <td>122043
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - All LibreOffice apps blocked when a save dialog is opened (Gtk)"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=97306#c7">Comment # 7</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - All LibreOffice apps blocked when a save dialog is opened (Gtk)"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=97306">bug 97306</a>
              from <span class="vcard"><a class="email" href="mailto:caolanm@redhat.com" title="Caolán McNamara <caolanm@redhat.com>"> <span class="fn">Caolán McNamara</span></a>
</span></b>
        <pre>" 1. Click save as button in Calc
  2. Click open button in Writer
  3. Click cancel in Calc's save as prompt
  No result. The buttons are blocked. "

Each file dialog runs its own event loop. The first dialog runs it on top of
the main event loop, then the second file dialog runs its event loop on top of
the first file dialog loop.

So the middle loop, that of the first file dialog, cannot exit until the top
loop, that of the second file dialog, exits.

This should be typical of nearly all the modal dialogs we have, e.g. start in
calc and use format->cells, then in writer use format->title page. Now it
should not be possible to close the format cells until format title is closed
first. And for the same loop within a loop reason.

We do have *some* asynchronous dialogs, e.g. start in writer, and format->page,
then in calc, format cells. The writer format page is an async dialog, so the
format cells is running its event loop on top of the main loop as normal, but
the format page dialog does not have its own loop, so it can be closed while
the next dialog is still running.

To get these file dialog async I guess we'd have to implement
XAsynchronousExecutableDialog for them, and rejig the calling code to pass in a
listener to handle the dialog final response. This is a fairly big chunk of
work for a fairly small gain.

All that said, I don't think there is any gtk specific part to this (remaining
at this point anyway) unless there's any evidence to the contrary I'm missing ?</pre>
        </div>
      </p>

        <div id="referenced">
          <hr style="border: 1px dashed #969696">
          <b>Referenced Bugs:</b>
          <ul>
              <li>
                [<a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [META] GTK3-specific bugs"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=103182">Bug 103182</a>] [META] GTK3-specific bugs
              </li>
              <li>
                [<a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [META] generic bugs more common under gtk3"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=122043">Bug 122043</a>] [META] generic bugs more common under gtk3
              </li>
          </ul>
        </div>
        <br>

      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>