<html>
    <head>
      <base href="https://bugs.documentfoundation.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_UNCONFIRMED "
   title="UNCONFIRMED - Check for updates is an empty dialog box (and all menu's are empty afterwards)"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=125723#c9">Comment # 9</a>
              on <a class="bz_bug_link 
          bz_status_UNCONFIRMED "
   title="UNCONFIRMED - Check for updates is an empty dialog box (and all menu's are empty afterwards)"
   href="https://bugs.documentfoundation.org/show_bug.cgi?id=125723">bug 125723</a>
              from <span class="vcard"><a class="email" href="mailto:telesto@surfxs.nl" title="Telesto <telesto@surfxs.nl>"> <span class="fn">Telesto</span></a>
</span></b>
        <pre>Created <span class=""><a href="http://bugs.documentfoundation.org/attachment.cgi?id=152173" name="attach_152173" title="Bibisect log">attachment 152173</a> <a href="http://bugs.documentfoundation.org/attachment.cgi?id=152173&action=edit" title="Bibisect log">[details]</a></span>
Bibisect log

Sorry, second attempt. Bibisected the wrong thing the first time 

Bisected to
author  Jan-Marek Glogowski <<a href="mailto:glogow@fbihome.de">glogow@fbihome.de</a>> 2017-08-24 13:41:37 +0200
committer       Jan-Marek Glogowski <<a href="mailto:glogow@fbihome.de">glogow@fbihome.de</a>> 2017-09-22 13:00:13
+0200
commit  448e9da1b440561441602e3a0956218b2702767e (patch)
tree    4282d5093419247ffd8d2dc55af0ede3623ba6b2
parent  43fd2b2597ce7ac3307794c712e4d8e29e26db5c (diff)
<a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - Assertion failed when closing a saved document"
   href="show_bug.cgi?id=111994">tdf#111994</a> WIN workaround PostMessage delays
Fixes the "Multiple timers in queue" assertion by effectively
removing it.

When debugging it became obvious, that PostMessage returns, even
if the message was not yet added to the message queue.

The assert happens, because we start the timer in the Scheduler
before Invoke(), so it fires, if we block in Invoke(), and then
reset the timer after Invoke, if there were changes to the Task
list.

In this case it fires during Invoke(), the message is added. We
restart the timer, first by stopping it (we wait in
DeleteTimerQueueTimer, to be sure the timer function has either
finished or was not run). And the try to remove the message with
PeekMessageW, which doesn't remove the posted message.

Then the timer is restarted, and when the event is processed, we
end up with an additional timer event, which was asserted.

As a fix this adds a (microsecond) timestamp to the timer message,
which is validated in the WinProc function. So if we stop the
timer too fast, the event is ignored based on the timestamp.

And while at it, the patch moves timer related variables from
SalData into WinSalTimer.</pre>
        </div>
      </p>


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

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