Bug 193558 - kglobalaccel is being initiated twice
Summary: kglobalaccel is being initiated twice
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 4.2
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Michael Jansen
URL:
Keywords:
: 193546 193598 193634 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-05-21 21:21 UTC by Danilo Cesar Lemes de Paula
Modified: 2009-05-24 01:09 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Danilo Cesar Lemes de Paula 2009-05-21 21:21:46 UTC
Version:            (using Devel)
Compiler:          gcc 
OS:                Linux
Installed from:    Compiled sources

kglobalaccel is being initialized twice, and it prevents the globalshortcuts from work properly.

It happens when I start KDE4 with startx and startkde.

Solution founded by mjansen was to kill kglobalaccel and start it again.
Comment 1 Michael Jansen 2009-05-21 21:32:01 UTC
During the startup phase kglobalaccel is started more than once. KGLobalAccel uses KUniqueApplication which should prevent that.

During maelcums startup krunner/klauncher? tries to start it 
1 time because of share/kde4/services/kglobalaccel.desktop
1-x times because of the code in kdelibs/kdeui/shortcuts/kglobalaccel.cpp getComponent() which autostarts kglobalaccel if it's not registered with dbus

The autostarting happens once  before the kglobalaccel.desktop start because og kwin trying to register its global shortcuts. The start succeeds.

Then the  kglobalaccel.desktop start fails case. KUniqueApplication doing it's job.

After that kglobalaccel is started successfully a second time on demand of klipper. All those from a startup log of maelcum.

Danilo uses startx / startkde. startkde is an unchanged from kde's version. Both are on trunk. Someone should trigger seli.
Comment 2 Michael Jansen 2009-05-22 04:07:44 UTC
1. Do you have more than one kglobalaccel demon running?
    https://bugs.kde.org/show_bug.cgi?id=193558

2. Do you use xmodmap?


3. Enable kglobalaccel debug output in kdebugdialog. Try to stop and restart
kglobalaccel (kquitapp kglobalaccel; kglobalaccel --nofork). Does it work? If
not attach the output kglobalaccel gives.

4. If kglobalaccel worked after restarting. Relogin and attach the content of
your .xsession-errors file.

You current .xsession-errors file is not useful because of the missing kglobalaccel output. But i guess 1. is you problem anyway.
Comment 3 Michael Jansen 2009-05-22 14:20:02 UTC
Sorry that last message was on the wrong bug.
Comment 4 Michael Jansen 2009-05-22 15:32:08 UTC
SVN commit 971460 by mjansen:

Check if we could register our service with the dbus session. If not do
not start the demon.

@Lubos that problem exists since your change to kdeinit4. Is it possible
your change has the effect of starting processes before the dbus session
is completely initialized / available whatever?

CCMAIL:l.lunak@kde.org

CCBUG:193558

 M  +16 -3     kglobalacceld.cpp  
 M  +2 -0      kglobalacceld.h  
 M  +5 -2      main.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=971460
Comment 5 Michael Jansen 2009-05-23 23:42:41 UTC
*** Bug 193598 has been marked as a duplicate of this bug. ***
Comment 6 Michael Jansen 2009-05-23 23:50:41 UTC
*** Bug 193634 has been marked as a duplicate of this bug. ***
Comment 7 Michael Jansen 2009-05-23 23:51:43 UTC
*** Bug 193546 has been marked as a duplicate of this bug. ***
Comment 8 Michael Jansen 2009-05-24 01:09:25 UTC
Fixed with commit 971978 (the last one of 3 needed to fix it)