summaryrefslogtreecommitdiffstats
path: root/src/Applet
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-01-27 16:26:01 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-01-27 16:26:01 +0100
commite742f63e9c56cc2c913fa8cfda7a9d583a2c2aa2 (patch)
treea08cc57de6544f3521ae7758f3746c6c515dc53f /src/Applet
parent8448f22c260be4f6e7732a193f330fd6cd94d9b6 (diff)
downloadabrt-e742f63e9c56cc2c913fa8cfda7a9d583a2c2aa2.tar.gz
abrt-e742f63e9c56cc2c913fa8cfda7a9d583a2c2aa2.tar.xz
abrt-e742f63e9c56cc2c913fa8cfda7a9d583a2c2aa2.zip
abrtd: proper fix to autostart problem
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'src/Applet')
-rw-r--r--src/Applet/Applet.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Applet/Applet.cpp b/src/Applet/Applet.cpp
index 550e1aac..b17a88b7 100644
--- a/src/Applet/Applet.cpp
+++ b/src/Applet/Applet.cpp
@@ -255,6 +255,14 @@ int main(int argc, char** argv)
applet->Disable(msg);
}
+ /* dbus_bus_request_name can already read some data. Thus while dbus fd hasn't
+ * any data anymore, dbus library can buffer a message or two.
+ * If we don't do this, the data won't be processed until next dbus data arrives.
+ */
+ int cnt = 10;
+ while (dbus_connection_dispatch(system_conn) != DBUS_DISPATCH_COMPLETE && --cnt)
+ continue;
+
/* Enter main loop */
gtk_main();