diff --git a/src/preferences/keymap/KeymapWindow.cpp b/src/preferences/keymap/KeymapWindow.cpp index 077adf53cc..12ddeade54 100644 --- a/src/preferences/keymap/KeymapWindow.cpp +++ b/src/preferences/keymap/KeymapWindow.cpp @@ -108,8 +108,6 @@ KeymapWindow::KeymapWindow() fKeyboardLayoutView->SetTarget(fTextControl->TextView()); fTextControl->MakeFocus(); - _UpdateButtons(); - // Make sure the user keymap directory exists BPath path; find_directory(B_USER_SETTINGS_DIRECTORY, &path); @@ -119,9 +117,8 @@ KeymapWindow::KeymapWindow() get_ref_for_path(path.Path(), &ref); BDirectory userKeymapsDir(&ref); - if (userKeymapsDir.InitCheck() != B_OK) { + if (userKeymapsDir.InitCheck() != B_OK) create_directory(path.Path(), S_IRWXU | S_IRWXG | S_IRWXO); - } BMessenger messenger(this); fOpenPanel = new BFilePanel(B_OPEN_PANEL, &messenger, &ref, @@ -154,6 +151,8 @@ KeymapWindow::KeymapWindow() fAppliedMap = fCurrentMap; fCurrentMap.SetTarget(this, new BMessage(kMsgKeymapUpdated)); + _UpdateButtons(); + _UpdateDeadKeyMenu(); _UpdateSwitchShortcutButton();