diff options
Diffstat (limited to 'meta-moblin/packages/mutter-moblin/files/startup-notify.patch')
| -rw-r--r-- | meta-moblin/packages/mutter-moblin/files/startup-notify.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/meta-moblin/packages/mutter-moblin/files/startup-notify.patch b/meta-moblin/packages/mutter-moblin/files/startup-notify.patch new file mode 100644 index 0000000000..72ad42cd98 --- /dev/null +++ b/meta-moblin/packages/mutter-moblin/files/startup-notify.patch | |||
| @@ -0,0 +1,51 @@ | |||
| 1 | Index: git/src/mnb-drop-down.c | ||
| 2 | =================================================================== | ||
| 3 | --- git.orig/src/mnb-drop-down.c 2009-06-09 16:38:46.000000000 +0100 | ||
| 4 | +++ git/src/mnb-drop-down.c 2009-06-09 16:41:21.000000000 +0100 | ||
| 5 | @@ -68,6 +68,37 @@ | ||
| 6 | gboolean hide_toolbar : 1; | ||
| 7 | }; | ||
| 8 | |||
| 9 | + | ||
| 10 | +#include <dbus/dbus.h> | ||
| 11 | + | ||
| 12 | +static gboolean | ||
| 13 | +emit_loaded_signal (gpointer user_data) | ||
| 14 | +{ | ||
| 15 | + DBusError error = DBUS_ERROR_INIT; | ||
| 16 | + DBusConnection *conn; | ||
| 17 | + DBusMessage *msg; | ||
| 18 | + | ||
| 19 | + conn = dbus_bus_get (DBUS_BUS_SYSTEM, &error); | ||
| 20 | + if (!conn) { | ||
| 21 | + g_printerr ("Cannot connect to system bus: %s", error.message); | ||
| 22 | + dbus_error_free (&error); | ||
| 23 | + return FALSE; | ||
| 24 | + } | ||
| 25 | + | ||
| 26 | + msg = dbus_message_new_signal ("/", "org.matchbox_project.desktop", "Loaded"); | ||
| 27 | + | ||
| 28 | + dbus_connection_send (conn, msg, NULL); | ||
| 29 | + dbus_message_unref (msg); | ||
| 30 | + | ||
| 31 | + /* Flush explicitly because we're too lazy to integrate DBus into the main | ||
| 32 | + loop. We're only sending a signal, so if we got as far as here it's | ||
| 33 | + unlikely to block. */ | ||
| 34 | + dbus_connection_flush (conn); | ||
| 35 | + dbus_connection_unref (conn); | ||
| 36 | + | ||
| 37 | + return FALSE; | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | static void | ||
| 41 | mnb_drop_down_get_property (GObject *object, guint property_id, | ||
| 42 | GValue *value, GParamSpec *pspec) | ||
| 43 | @@ -137,6 +168,8 @@ | ||
| 44 | |||
| 45 | g_signal_emit (actor, dropdown_signals[SHOW_COMPLETED], 0); | ||
| 46 | g_object_unref (actor); | ||
| 47 | + | ||
| 48 | + g_idle_add (emit_loaded_signal, NULL); | ||
| 49 | } | ||
| 50 | |||
| 51 | static void | ||
