From e742f63e9c56cc2c913fa8cfda7a9d583a2c2aa2 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Wed, 27 Jan 2010 16:26:01 +0100 Subject: abrtd: proper fix to autostart problem Signed-off-by: Denys Vlasenko --- src/Applet/Applet.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/Applet/Applet.cpp') diff --git a/src/Applet/Applet.cpp b/src/Applet/Applet.cpp index 550e1aa..b17a88b 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(); -- cgit