From e9aedf4ab739ff0ccdf60747d7949e1a9abae568 Mon Sep 17 00:00:00 2001 From: iwamatsu Date: Mon, 16 Apr 2012 23:28:34 +0000 Subject: [PATCH] Fix numlock control (Closes: #12094, #16850, #18522) Signed-off-by: Nobuhiro Iwamatsu --- app.cpp | 16 +++++++++------- numlock.cpp | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app.cpp b/app.cpp index d338c5e..26ee47b 100644 --- a/app.cpp +++ b/app.cpp @@ -332,6 +332,15 @@ void App::Run() { Login(); } } + + // Set NumLock + string numlock = cfg->getOption("numlock"); + if (numlock == "on") { + NumLock::setOn(Dpy); + } else if (numlock == "off") { + NumLock::setOff(Dpy); + } + // Start looping int panelclosed = 1; Panel::ActionType Action; @@ -971,13 +980,6 @@ int App::StartServer() { break; } - string numlock = cfg->getOption("numlock"); - if (numlock == "on") { - NumLock::setOn(Dpy); - } else if (numlock == "off") { - NumLock::setOff(Dpy); - } - delete args; serverStarted = true; diff --git a/numlock.cpp b/numlock.cpp index deaaa96..b061eee 100644 --- a/numlock.cpp +++ b/numlock.cpp @@ -68,9 +68,9 @@ void NumLock::control_numlock(Display *dpy, bool flag) { return; if( flag == true ) - XkbLockModifiers ( dpy, XkbUseCoreKbd, mask, 0); - else XkbLockModifiers ( dpy, XkbUseCoreKbd, mask, mask); + else + XkbLockModifiers ( dpy, XkbUseCoreKbd, mask, 0); } void NumLock::setOn(Display *dpy) {