vcl/unx/gtk3/gtk3gtkframe.cxx |   54 +++++++++++++++++++++---------------------
 1 file changed, 27 insertions(+), 27 deletions(-)

New commits:
commit 15b524a9a89712e486123c8e55e7e3d402b96d52
Author: Caolán McNamara <caol...@redhat.com>
Date:   Mon Nov 7 16:14:46 2016 +0000

    gtk3: focus jumping around the place under wayland + popovers
    
    in impress slide sorter panel
    
    do the "oops!, frame moved" callback before the "pointer was
    moved" callback
    
    Change-Id: I12f3c66ba15fea04d8dc74d0325582967ea93afe

diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 9c647cb..02cb7d3 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -2784,39 +2784,39 @@ gboolean GtkSalFrame::signalMotion( GtkWidget*, 
GdkEventMotion* pEvent, gpointer
     if (pThis->isFloatGrabWindow() && pEvent->window != 
widget_get_window(pThis->getMouseEventWidget()))
         return true;
 
-    SalMouseEvent aEvent;
-    aEvent.mnTime   = pEvent->time;
-    aEvent.mnX      = (long)pEvent->x_root - pThis->maGeometry.nX;
-    aEvent.mnY      = (long)pEvent->y_root - pThis->maGeometry.nY;
-    aEvent.mnCode   = GetMouseModCode( pEvent->state );
-    aEvent.mnButton = 0;
-
-    // --- RTL --- (mirror mouse pos)
-    if( AllSettings::GetLayoutRTL() )
-        aEvent.mnX = pThis->maGeometry.nWidth-1-aEvent.mnX;
-
     vcl::DeletionListener aDel( pThis );
 
-    pThis->CallCallbackExc( SalEvent::MouseMove, &aEvent );
+    int frame_x = (int)(pEvent->x_root - pEvent->x);
+    int frame_y = (int)(pEvent->y_root - pEvent->y);
+    if (frame_x != pThis->maGeometry.nX || frame_y != pThis->maGeometry.nY)
+    {
+        pThis->maGeometry.nX = frame_x;
+        pThis->maGeometry.nY = frame_y;
+        pThis->CallCallbackExc(SalEvent::Move, nullptr);
+    }
 
     if( ! aDel.isDeleted() )
     {
-        int frame_x = (int)(pEvent->x_root - pEvent->x);
-        int frame_y = (int)(pEvent->y_root - pEvent->y);
-        if( frame_x != pThis->maGeometry.nX || frame_y != pThis->maGeometry.nY 
)
-        {
-            pThis->maGeometry.nX = frame_x;
-            pThis->maGeometry.nY = frame_y;
-            pThis->CallCallbackExc( SalEvent::Move, nullptr );
-        }
+        SalMouseEvent aEvent;
+        aEvent.mnTime   = pEvent->time;
+        aEvent.mnX      = (long)pEvent->x_root - pThis->maGeometry.nX;
+        aEvent.mnY      = (long)pEvent->y_root - pThis->maGeometry.nY;
+        aEvent.mnCode   = GetMouseModCode( pEvent->state );
+        aEvent.mnButton = 0;
 
-        if( ! aDel.isDeleted() )
-        {
-            // ask for the next hint
-            gint x, y;
-            GdkModifierType mask;
-            gdk_window_get_pointer( 
widget_get_window(GTK_WIDGET(pThis->m_pWindow)), &x, &y, &mask );
-        }
+        // --- RTL --- (mirror mouse pos)
+        if( AllSettings::GetLayoutRTL() )
+            aEvent.mnX = pThis->maGeometry.nWidth-1-aEvent.mnX;
+
+        pThis->CallCallbackExc( SalEvent::MouseMove, &aEvent );
+    }
+
+    if( ! aDel.isDeleted() )
+    {
+        // ask for the next hint
+        gint x, y;
+        GdkModifierType mask;
+        gdk_window_get_pointer( 
widget_get_window(GTK_WIDGET(pThis->m_pWindow)), &x, &y, &mask );
     }
 
     return true;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to