include/vcl/commandevent.hxx        |   12 ++++++------
 include/vcl/keycodes.hxx            |   28 ++++++++++++++++------------
 vcl/inc/salwtype.hxx                |    3 ++-
 vcl/inc/unx/gtk/gtkframe.hxx        |    2 +-
 vcl/inc/unx/salframe.h              |    2 +-
 vcl/source/window/commandevent.cxx  |    2 +-
 vcl/unx/generic/window/salframe.cxx |   28 ++++++++++++++--------------
 vcl/unx/gtk/gtksalframe.cxx         |   26 +++++++++++++-------------
 vcl/unx/gtk3/gtk3gtkframe.cxx       |   26 +++++++++++++-------------
 vcl/win/window/salframe.cxx         |   32 ++++++++++++++++----------------
 10 files changed, 83 insertions(+), 78 deletions(-)

New commits:
commit 63a6de2cab00e949751fcb35f4814844fc4ec71e
Author: Noel Grandin <noel.gran...@collabora.co.uk>
Date:   Thu Nov 24 12:07:47 2016 +0200

    convert MODKEY constants to o3tl::typed_flags
    
    Change-Id: I53a6f6f6b12e0fb299e7d76e8e8f354ef3afbbb3
    Reviewed-on: https://gerrit.libreoffice.org/31152
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/include/vcl/commandevent.hxx b/include/vcl/commandevent.hxx
index 5b9cc09..51dab89 100644
--- a/include/vcl/commandevent.hxx
+++ b/include/vcl/commandevent.hxx
@@ -187,15 +187,15 @@ public:
 class VCL_DLLPUBLIC CommandModKeyData
 {
 private:
-    sal_uInt16          mnCode;
+    ModKeyFlags     mnCode;
 
 public:
-                    CommandModKeyData( sal_uInt16 nCode );
+                    CommandModKeyData( ModKeyFlags nCode );
 
-    bool            IsMod1()    const { return (mnCode & MODKEY_MOD1) != 0; }
-    bool            IsMod2()    const { return (mnCode & MODKEY_MOD2) != 0; }
-    bool            IsLeftShift() const { return (mnCode & MODKEY_LSHIFT) != 
0; }
-    bool            IsRightShift() const { return (mnCode & MODKEY_RSHIFT) != 
0; }
+    bool            IsMod1()       const { return bool(mnCode & 
ModKeyFlags::Mod1Msk); }
+    bool            IsMod2()       const { return bool(mnCode & 
ModKeyFlags::Mod2Msk); }
+    bool            IsLeftShift()  const { return bool(mnCode & 
ModKeyFlags::LeftShift); }
+    bool            IsRightShift() const { return bool(mnCode & 
ModKeyFlags::RightShift); }
 };
 
 enum class ShowDialogId
diff --git a/include/vcl/keycodes.hxx b/include/vcl/keycodes.hxx
index 58cbf96..5356c20 100644
--- a/include/vcl/keycodes.hxx
+++ b/include/vcl/keycodes.hxx
@@ -153,18 +153,22 @@
 #define KEY_SCROLLLOCK  ((sal_uInt16)css::awt::Key::SCROLLLOCK)
 
 // extended Modifier-Keys (only used for modkey events)
-#define MODKEY_LSHIFT    0x0001
-#define MODKEY_RSHIFT    0x0002
-#define MODKEY_LMOD1     0x0004
-#define MODKEY_RMOD1     0x0008
-#define MODKEY_LMOD2     0x0010
-#define MODKEY_RMOD2     0x0020
-#define MODKEY_LMOD3     0x0040
-#define MODKEY_RMOD3     0x0080
-#define MODKEY_SHIFT     (MODKEY_LSHIFT|MODKEY_RSHIFT)
-#define MODKEY_MOD1      (MODKEY_LMOD1|MODKEY_RMOD1)
-#define MODKEY_MOD2      (MODKEY_LMOD2|MODKEY_RMOD2)
-#define MODKEY_MOD3      (MODKEY_LMOD3|MODKEY_RMOD3)
+enum class ModKeyFlags {
+    NONE         = 0x0000,
+    LeftShift    = 0x0001,
+    RightShift   = 0x0002,
+    LeftMod1     = 0x0004,
+    RightMod1    = 0x0008,
+    LeftMod2     = 0x0010,
+    RightMod2    = 0x0020,
+    LeftMod3     = 0x0040,
+    RightMod3    = 0x0080,
+    Mod1Msk      = LeftMod1 | RightMod1, // should be Mod1Mask, but that 
conflicts with a X.h macro grrrr
+    Mod2Msk      = LeftMod2 | RightMod2,
+};
+namespace o3tl {
+    template<> struct typed_flags<ModKeyFlags> : is_typed_flags<ModKeyFlags, 
0x00ff> {};
+}
 
 enum class KeyIndicatorState {
     NONE          = 0x0000,
diff --git a/vcl/inc/salwtype.hxx b/vcl/inc/salwtype.hxx
index b7f803e..4b27a3e 100644
--- a/vcl/inc/salwtype.hxx
+++ b/vcl/inc/salwtype.hxx
@@ -33,6 +33,7 @@ enum class InputContextFlags;
 enum class WindowStateMask;
 enum class WindowStateState;
 enum class ExtTextInputAttr;
+enum class ModKeyFlags;
 
 enum class SalEvent {
     NONE,
@@ -123,7 +124,7 @@ struct SalKeyModEvent
 {
     sal_uInt64      mnTime;         // Time in ms, when event is created
     sal_uInt16      mnCode;         // SV-Modifiercode 
(KEY_SHIFT|KEY_MOD1|KEY_MOD2)
-    sal_uInt16      mnModKeyCode;   // extended Modifier 
(MODKEY_LEFT,MODKEY_RIGHT,MODKEY_PRESS,MODKEY_RELEASE)
+    ModKeyFlags     mnModKeyCode;   // extended Modifier 
(MODKEY_LEFT,MODKEY_RIGHT,MODKEY_PRESS,MODKEY_RELEASE)
 };
 
 struct SalPaintEvent
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
index 0f22d46..5d61c5a 100644
--- a/vcl/inc/unx/gtk/gtkframe.hxx
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
@@ -186,7 +186,7 @@ class GtkSalFrame : public SalFrame
     SystemEnvData                   m_aSystemData;
     GtkSalGraphics                 *m_pGraphics;
     bool                            m_bGraphics;
-    sal_uInt16                      m_nKeyModifiers;
+    ModKeyFlags                     m_nKeyModifiers;
     GdkCursor                      *m_pCurrentCursor;
     GdkVisibilityState              m_nVisibility;
     PointerStyle                    m_ePointerStyle;
diff --git a/vcl/inc/unx/salframe.h b/vcl/inc/unx/salframe.h
index 2c0be07..16efb89 100644
--- a/vcl/inc/unx/salframe.h
+++ b/vcl/inc/unx/salframe.h
@@ -79,7 +79,7 @@ class VCLPLUG_GEN_PUBLIC X11SalFrame : public SalFrame, 
public NativeWindowHandl
     sal_uInt16      nKeyCode_;          // last key code
     sal_uInt16      nKeyState_;         // last key state
     bool            mbSendExtKeyModChange;
-    sal_uInt16      mnExtKeyMod;
+    ModKeyFlags     mnExtKeyMod;
 
     int             nShowState_;        // show state
     int             nWidth_;            // client width
diff --git a/vcl/source/window/commandevent.cxx 
b/vcl/source/window/commandevent.cxx
index e7f7dcd..6a1f140 100644
--- a/vcl/source/window/commandevent.cxx
+++ b/vcl/source/window/commandevent.cxx
@@ -100,7 +100,7 @@ CommandScrollData::CommandScrollData( long nDeltaX, long 
nDeltaY )
     mnDeltaY    = nDeltaY;
 }
 
-CommandModKeyData::CommandModKeyData( sal_uInt16 nCode )
+CommandModKeyData::CommandModKeyData( ModKeyFlags nCode )
 {
     mnCode = nCode;
 }
diff --git a/vcl/unx/generic/window/salframe.cxx 
b/vcl/unx/generic/window/salframe.cxx
index ab8ad79..ba4c190 100644
--- a/vcl/unx/generic/window/salframe.cxx
+++ b/vcl/unx/generic/window/salframe.cxx
@@ -779,7 +779,7 @@ X11SalFrame::X11SalFrame( SalFrame *pParent, 
SalFrameStyleFlags nSalFrameStyle,
     nKeyCode_                   = 0;
     nKeyState_                  = 0;
     mbSendExtKeyModChange       = false;
-    mnExtKeyMod                 = 0;
+    mnExtKeyMod                 = ModKeyFlags::NONE;
 
     nShowState_                 = SHOWSTATE_UNKNOWN;
     nWidth_                     = 0;
@@ -3036,57 +3036,57 @@ long X11SalFrame::HandleKeyEvent( XKeyEvent *pEvent )
                 ||      nKeySym == XK_Super_L   || nKeySym == XK_Super_R )
     {
         SalKeyModEvent aModEvt;
-        aModEvt.mnModKeyCode = 0;
-        if( pEvent->type == KeyPress && mnExtKeyMod == 0 )
+        aModEvt.mnModKeyCode = ModKeyFlags::NONE;
+        if( pEvent->type == KeyPress && mnExtKeyMod == ModKeyFlags::NONE )
             mbSendExtKeyModChange = true;
         else if( pEvent->type == KeyRelease && mbSendExtKeyModChange )
         {
             aModEvt.mnModKeyCode = mnExtKeyMod;
-            mnExtKeyMod = 0;
+            mnExtKeyMod = ModKeyFlags::NONE;
         }
 
         // pressing just the ctrl key leads to a keysym of XK_Control but
         // the event state does not contain ControlMask. In the release
         // event it's the other way round: it does contain the Control mask.
         // The modifier mode therefore has to be adapted manually.
-        sal_uInt16 nExtModMask = 0;
+        ModKeyFlags nExtModMask = ModKeyFlags::NONE;
         sal_uInt16 nModMask = 0;
         switch( nKeySym )
         {
             case XK_Control_L:
-                nExtModMask = MODKEY_LMOD1;
+                nExtModMask = ModKeyFlags::LeftMod1;
                 nModMask = KEY_MOD1;
                 break;
             case XK_Control_R:
-                nExtModMask = MODKEY_RMOD1;
+                nExtModMask = ModKeyFlags::RightMod1;
                 nModMask = KEY_MOD1;
                 break;
             case XK_Alt_L:
-                nExtModMask = MODKEY_LMOD2;
+                nExtModMask = ModKeyFlags::LeftMod2;
                 nModMask = KEY_MOD2;
                 break;
             case XK_Alt_R:
-                nExtModMask = MODKEY_RMOD2;
+                nExtModMask = ModKeyFlags::RightMod2;
                 nModMask = KEY_MOD2;
                 break;
             case XK_Shift_L:
-                nExtModMask = MODKEY_LSHIFT;
+                nExtModMask = ModKeyFlags::LeftShift;
                 nModMask = KEY_SHIFT;
                 break;
             case XK_Shift_R:
-                nExtModMask = MODKEY_RSHIFT;
+                nExtModMask = ModKeyFlags::RightShift;
                 nModMask = KEY_SHIFT;
                 break;
             // Map Meta/Super keys to MOD3 modifier on all Unix systems
             // except Mac OS X
             case XK_Meta_L:
             case XK_Super_L:
-                nExtModMask = MODKEY_LMOD3;
+                nExtModMask = ModKeyFlags::LeftMod3;
                 nModMask = KEY_MOD3;
                 break;
             case XK_Meta_R:
             case XK_Super_R:
-                nExtModMask = MODKEY_RMOD3;
+                nExtModMask = ModKeyFlags::RightMod3;
                 nModMask = KEY_MOD3;
                 break;
         }
@@ -3319,7 +3319,7 @@ long X11SalFrame::HandleFocusEvent( XFocusChangeEvent 
*pEvent )
         {
             mbInputFocus = False;
             mbSendExtKeyModChange = false;
-            mnExtKeyMod = 0;
+            mnExtKeyMod = ModKeyFlags::NONE;
             return CallCallback( SalEvent::LoseFocus, nullptr );
         }
     }
diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx
index d83ebe4..c5cac38 100644
--- a/vcl/unx/gtk/gtksalframe.cxx
+++ b/vcl/unx/gtk/gtksalframe.cxx
@@ -964,7 +964,7 @@ void GtkSalFrame::InitCommon()
 
     // init members
     m_pCurrentCursor    = nullptr;
-    m_nKeyModifiers     = 0;
+    m_nKeyModifiers     = ModKeyFlags::NONE;
     m_bFullscreen       = false;
     m_bSpanMonitorsWhenFullscreen = false;
     m_nState            = GDK_WINDOW_STATE_WITHDRAWN;
@@ -2986,7 +2986,7 @@ gboolean GtkSalFrame::signalFocus( GtkWidget*, 
GdkEventFocus* pEvent, gpointer f
 
     if( !pEvent->in )
     {
-        pThis->m_nKeyModifiers = 0;
+        pThis->m_nKeyModifiers = ModKeyFlags::NONE;
         pThis->m_bSendModChangeOnRelease = false;
     }
 
@@ -3105,8 +3105,8 @@ gboolean GtkSalFrame::signalKey( GtkWidget*, GdkEventKey* 
pEvent, gpointer frame
 
         sal_uInt16 nModCode = GetKeyModCode( pEvent->state );
 
-        aModEvt.mnModKeyCode = 0; // emit no MODKEYCHANGE events
-        if( pEvent->type == GDK_KEY_PRESS && !pThis->m_nKeyModifiers )
+        aModEvt.mnModKeyCode = ModKeyFlags::NONE; // emit no MODKEYCHANGE 
events
+        if( pEvent->type == GDK_KEY_PRESS && pThis->m_nKeyModifiers == 
ModKeyFlags::NONE )
             pThis->m_bSendModChangeOnRelease = true;
 
         else if( pEvent->type == GDK_KEY_RELEASE &&
@@ -3115,7 +3115,7 @@ gboolean GtkSalFrame::signalKey( GtkWidget*, GdkEventKey* 
pEvent, gpointer frame
             aModEvt.mnModKeyCode = pThis->m_nKeyModifiers;
         }
 
-        sal_uInt16 nExtModMask = 0;
+        ModKeyFlags nExtModMask = ModKeyFlags::NONE;
         sal_uInt16 nModMask = 0;
         // pressing just the ctrl key leads to a keysym of XK_Control but
         // the event state does not contain ControlMask. In the release
@@ -3124,39 +3124,39 @@ gboolean GtkSalFrame::signalKey( GtkWidget*, 
GdkEventKey* pEvent, gpointer frame
         switch( pEvent->keyval )
         {
             case GDK_KEY_Control_L:
-                nExtModMask = MODKEY_LMOD1;
+                nExtModMask = ModKeyFlags::LeftMod1;
                 nModMask = KEY_MOD1;
                 break;
             case GDK_KEY_Control_R:
-                nExtModMask = MODKEY_RMOD1;
+                nExtModMask = ModKeyFlags::RightMod1;
                 nModMask = KEY_MOD1;
                 break;
             case GDK_KEY_Alt_L:
-                nExtModMask = MODKEY_LMOD2;
+                nExtModMask = ModKeyFlags::LeftMod2;
                 nModMask = KEY_MOD2;
                 break;
             case GDK_KEY_Alt_R:
-                nExtModMask = MODKEY_RMOD2;
+                nExtModMask = ModKeyFlags::RightMod2;
                 nModMask = KEY_MOD2;
                 break;
             case GDK_KEY_Shift_L:
-                nExtModMask = MODKEY_LSHIFT;
+                nExtModMask = ModKeyFlags::LeftShift;
                 nModMask = KEY_SHIFT;
                 break;
             case GDK_KEY_Shift_R:
-                nExtModMask = MODKEY_RSHIFT;
+                nExtModMask = ModKeyFlags::RightShift;
                 nModMask = KEY_SHIFT;
                 break;
             // Map Meta/Super to MOD3 modifier on all Unix systems
             // except Mac OS X
             case GDK_KEY_Meta_L:
             case GDK_KEY_Super_L:
-                nExtModMask = MODKEY_LMOD3;
+                nExtModMask = ModKeyFlags::LeftMod3;
                 nModMask = KEY_MOD3;
                 break;
             case GDK_KEY_Meta_R:
             case GDK_KEY_Super_R:
-                nExtModMask = MODKEY_RMOD3;
+                nExtModMask = ModKeyFlags::RightMod3;
                 nModMask = KEY_MOD3;
                 break;
         }
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 645f800..8702c62 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -1066,7 +1066,7 @@ void GtkSalFrame::InitCommon()
 
     // init members
     m_pCurrentCursor    = nullptr;
-    m_nKeyModifiers     = 0;
+    m_nKeyModifiers     = ModKeyFlags::NONE;
     m_bFullscreen       = false;
     m_bSpanMonitorsWhenFullscreen = false;
     m_nState            = GDK_WINDOW_STATE_WITHDRAWN;
@@ -2960,7 +2960,7 @@ gboolean GtkSalFrame::signalFocus( GtkWidget*, 
GdkEventFocus* pEvent, gpointer f
 
     if( !pEvent->in )
     {
-        pThis->m_nKeyModifiers = 0;
+        pThis->m_nKeyModifiers = ModKeyFlags::NONE;
         pThis->m_bSendModChangeOnRelease = false;
     }
 
@@ -3030,8 +3030,8 @@ gboolean GtkSalFrame::signalKey(GtkWidget* pWidget, 
GdkEventKey* pEvent, gpointe
 
         sal_uInt16 nModCode = GetKeyModCode( pEvent->state );
 
-        aModEvt.mnModKeyCode = 0; // emit no MODKEYCHANGE events
-        if( pEvent->type == GDK_KEY_PRESS && !pThis->m_nKeyModifiers )
+        aModEvt.mnModKeyCode = ModKeyFlags::NONE; // emit no MODKEYCHANGE 
events
+        if( pEvent->type == GDK_KEY_PRESS && pThis->m_nKeyModifiers == 
ModKeyFlags::NONE )
             pThis->m_bSendModChangeOnRelease = true;
 
         else if( pEvent->type == GDK_KEY_RELEASE &&
@@ -3040,7 +3040,7 @@ gboolean GtkSalFrame::signalKey(GtkWidget* pWidget, 
GdkEventKey* pEvent, gpointe
             aModEvt.mnModKeyCode = pThis->m_nKeyModifiers;
         }
 
-        sal_uInt16 nExtModMask = 0;
+        ModKeyFlags nExtModMask = ModKeyFlags::NONE;
         sal_uInt16 nModMask = 0;
         // pressing just the ctrl key leads to a keysym of XK_Control but
         // the event state does not contain ControlMask. In the release
@@ -3049,39 +3049,39 @@ gboolean GtkSalFrame::signalKey(GtkWidget* pWidget, 
GdkEventKey* pEvent, gpointe
         switch( pEvent->keyval )
         {
             case GDK_KEY_Control_L:
-                nExtModMask = MODKEY_LMOD1;
+                nExtModMask = ModKeyFlags::LeftMod1;
                 nModMask = KEY_MOD1;
                 break;
             case GDK_KEY_Control_R:
-                nExtModMask = MODKEY_RMOD1;
+                nExtModMask = ModKeyFlags::RightMod1;
                 nModMask = KEY_MOD1;
                 break;
             case GDK_KEY_Alt_L:
-                nExtModMask = MODKEY_LMOD2;
+                nExtModMask = ModKeyFlags::LeftMod2;
                 nModMask = KEY_MOD2;
                 break;
             case GDK_KEY_Alt_R:
-                nExtModMask = MODKEY_RMOD2;
+                nExtModMask = ModKeyFlags::RightMod2;
                 nModMask = KEY_MOD2;
                 break;
             case GDK_KEY_Shift_L:
-                nExtModMask = MODKEY_LSHIFT;
+                nExtModMask = ModKeyFlags::LeftShift;
                 nModMask = KEY_SHIFT;
                 break;
             case GDK_KEY_Shift_R:
-                nExtModMask = MODKEY_RSHIFT;
+                nExtModMask = ModKeyFlags::RightShift;
                 nModMask = KEY_SHIFT;
                 break;
             // Map Meta/Super to MOD3 modifier on all Unix systems
             // except Mac OS X
             case GDK_KEY_Meta_L:
             case GDK_KEY_Super_L:
-                nExtModMask = MODKEY_LMOD3;
+                nExtModMask = ModKeyFlags::LeftMod3;
                 nModMask = KEY_MOD3;
                 break;
             case GDK_KEY_Meta_R:
             case GDK_KEY_Super_R:
-                nExtModMask = MODKEY_RMOD3;
+                nExtModMask = ModKeyFlags::RightMod3;
                 nModMask = KEY_MOD3;
                 break;
         }
diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index 42baae8..424e588 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -3341,12 +3341,12 @@ bool WinSalFrame::MapUnicodeToKeyCode( sal_Unicode 
aUnicode, LanguageType aLangT
 static long ImplHandleKeyMsg( HWND hWnd, UINT nMsg,
                               WPARAM wParam, LPARAM lParam, LRESULT& rResult )
 {
-    static bool     bIgnoreCharMsg  = FALSE;
-    static WPARAM   nDeadChar       = 0;
-    static WPARAM   nLastVKChar     = 0;
+    static bool         bIgnoreCharMsg  = FALSE;
+    static WPARAM       nDeadChar       = 0;
+    static WPARAM       nLastVKChar     = 0;
     static sal_uInt16   nLastChar       = 0;
-    static sal_uInt16   nLastModKeyCode = 0;
-    static bool     bWaitForModKeyRelease = false;
+    static ModKeyFlags  nLastModKeyCode = ModKeyFlags::NONE;
+    static bool         bWaitForModKeyRelease = false;
     sal_uInt16          nRepeat         = LOWORD( lParam )-1;
     sal_uInt16          nModCode        = 0;
 
@@ -3479,26 +3479,26 @@ static long ImplHandleKeyMsg( HWND hWnd, UINT nMsg,
             SalKeyModEvent aModEvt;
             aModEvt.mnTime = GetMessageTime();
             aModEvt.mnCode = nModCode;
-            aModEvt.mnModKeyCode = 0;   // no command events will be sent if 
this member is 0
+            aModEvt.mnModKeyCode = ModKeyFlags::NONE;   // no command events 
will be sent if this member is 0
 
-            sal_uInt16 tmpCode = 0;
+            ModKeyFlags tmpCode = ModKeyFlags::NONE;
             if( GetKeyState( VK_LSHIFT )  & 0x8000 )
-                tmpCode |= MODKEY_LSHIFT;
+                tmpCode |= ModKeyFlags::LeftShift;
             if( GetKeyState( VK_RSHIFT )  & 0x8000 )
-                tmpCode |= MODKEY_RSHIFT;
+                tmpCode |= ModKeyFlags::RightShift;
             if( GetKeyState( VK_LCONTROL ) & 0x8000 )
-                tmpCode |= MODKEY_LMOD1;
+                tmpCode |= ModKeyFlags::LeftMod1;
             if( GetKeyState( VK_RCONTROL ) & 0x8000 )
-                tmpCode |= MODKEY_RMOD1;
+                tmpCode |= ModKeyFlags::RightMod1;
             if( GetKeyState( VK_LMENU )  & 0x8000 )
-                tmpCode |= MODKEY_LMOD2;
+                tmpCode |= ModKeyFlags::LeftMod2;
             if( GetKeyState( VK_RMENU )  & 0x8000 )
-                tmpCode |= MODKEY_RMOD2;
+                tmpCode |= ModKeyFlags::RightMod2;
 
             if( tmpCode < nLastModKeyCode )
             {
                 aModEvt.mnModKeyCode = nLastModKeyCode;
-                nLastModKeyCode = 0;
+                nLastModKeyCode = ModKeyFlags::NONE;
                 bWaitForModKeyRelease = true;
             }
             else
@@ -3507,7 +3507,7 @@ static long ImplHandleKeyMsg( HWND hWnd, UINT nMsg,
                     nLastModKeyCode = tmpCode;
             }
 
-            if( !tmpCode )
+            if( tmpCode == ModKeyFlags::NONE )
                 bWaitForModKeyRelease = false;
 
             return pFrame->CallCallback( SalEvent::KeyModChange, &aModEvt );
@@ -3521,7 +3521,7 @@ static long ImplHandleKeyMsg( HWND hWnd, UINT nMsg,
             UINT            nCharMsg = WM_CHAR;
             bool            bKeyUp = (nMsg == WM_KEYUP) || (nMsg == 
WM_SYSKEYUP);
 
-            nLastModKeyCode = 0; // make sure no modkey messages are sent if 
they belong to a hotkey (see above)
+            nLastModKeyCode = ModKeyFlags::NONE; // make sure no modkey 
messages are sent if they belong to a hotkey (see above)
             aKeyEvt.mnCharCode = 0;
             aKeyEvt.mnCode = 0;
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to