         }
         else
         {
+            // if we're not waiting then commitProperties won't have a chance to run
+            // before we flip flags back; at least dispatch any relevant button events
+            // even if the UI isn't going to reflect the click
+            dispatchButtonEvents();
             mouseUpDeselectTimer_timerCompleteHandler();
         }
     }

        {
            mouseUpDeselectTimer.stop();
            mouseUpDeselectTimer = null;
        }
    }
    

        
        if (checkForButtonDownConditions)
        {
            dispatchButtonEvents();
            
            checkForButtonDownConditions = false;
        }
