diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2018-09-27 16:00:55 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2018-10-04 07:00:30 +0000 |
commit | 28c831fa13db29bd06666abefcb76f5bdf886320 (patch) | |
tree | 07bbbc60324732a2db911c95a4cd6d11110c0e1b /src/plugins/platforms/cocoa/qcocoakeymapper.h | |
parent | 21355b3630882932be940a48a88d8c40cf7ebf63 (diff) |
QCocoaKeyMapper: Properly initialize all members and reset on update
Previously some of the members would have random initial values. Also,
on updateKeyboard() if we don't find usable uchrData, we should just
reset keyboard_layout_format and keyboard_mode, rather than keep the
previous values.
Task-number: QTBUG-50865
Change-Id: I1297fa55bb1593dd549d0bc122713d5d98f7b1fc
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoakeymapper.h')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoakeymapper.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.h b/src/plugins/platforms/cocoa/qcocoakeymapper.h index a75e275077..2624f19978 100644 --- a/src/plugins/platforms/cocoa/qcocoakeymapper.h +++ b/src/plugins/platforms/cocoa/qcocoakeymapper.h @@ -89,15 +89,12 @@ public: void clearMappings(); private: - QCFType<TISInputSourceRef> currentInputSource; + QCFType<TISInputSourceRef> currentInputSource = nullptr; - enum { NullMode, UnicodeMode, OtherMode } keyboard_mode; - union { - const UCKeyboardLayout *unicode; - void *other; - } keyboard_layout_format; - KeyboardLayoutKind keyboard_kind; - UInt32 keyboard_dead; + enum { NullMode, UnicodeMode, OtherMode } keyboard_mode = NullMode; + const UCKeyboardLayout *keyboard_layout_format = nullptr; + KeyboardLayoutKind keyboard_kind = kKLKCHRuchrKind; + UInt32 keyboard_dead = 0; KeyboardLayoutItem *keyLayout[256]; }; |