Bug 150751 - kopete hangs for a few seconds with the now playing plugin
Summary: kopete hangs for a few seconds with the now playing plugin
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Unmaintained
Component: Now Listening Plugin (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-12 13:03 UTC by Manuel Amador (Rudd-O)
Modified: 2010-01-17 11:48 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Manuel Amador (Rudd-O) 2007-10-12 13:03:22 UTC
Version:           0.12.5 (using KDE 3.5.7, Kubuntu (gutsy) 4:3.5.7-1ubuntu15)
Compiler:          Target: i486-linux-gnu
OS:                Linux (i686) release 2.6.22-12-generic

When the Now playing plugin is enabled, kopete hangs every time I perform an operation on Amarok.  Changing a song causes Kopete to hang for a few seconds (up to twenty).  Pausing Amarok as well (I'm using PulseAudio output so pausing Amarok causes amarok to hang for up to 20 seconds, and when Amarok hangs, Kopete also hangs).

I assume that the amarok pause hang is causing the DCOP receiving endpoint to not be answered, and the plugin appears to use a synchronous DCOP call to amarok to figure out what I'm playing, and that call is performed in the main thread execution context, which causes the hang.

My idea to solve this would be to use a ThreadWeaver or a simple thread that fires regularly and performs the call in the background, then processes the result once it's done.
Comment 1 Marius Cirsta 2008-07-17 19:18:35 UTC
 The NowPlaying plugin now now longer uses DCOP from what I know so this shouldn't be a problem anymore once the new Amarok2 will work with it.
Comment 2 Manuel Amador (Rudd-O) 2008-07-17 20:45:09 UTC
yes, it uses DBUS now.  Does it perform the DBUS call synchronously or asynchronously?  Does it perform the call in the UI thread as it used to do, or not?  Those questions are what matters, not the IPC protocol.

If the answer is the calls are processed/performed asynchronously, then this bug can be closed.
Comment 3 Roman Jarosz 2010-01-17 11:48:05 UTC
Should work in KDE 4