summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qcocoakeymapper.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2018-09-27 16:00:55 +0200
committerUlf Hermann <ulf.hermann@qt.io>2018-10-04 07:00:30 +0000
commit28c831fa13db29bd06666abefcb76f5bdf886320 (patch)
tree07bbbc60324732a2db911c95a4cd6d11110c0e1b /src/plugins/platforms/cocoa/qcocoakeymapper.h
parent21355b3630882932be940a48a88d8c40cf7ebf63 (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.h13
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];
};