aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac7
-rw-r--r--debian/changelog2
-rw-r--r--debian/libmessaging-menu0.symbols28
-rw-r--r--libmessaging-menu/Makefile.am2
-rw-r--r--libmessaging-menu/messaging-menu.c41
-rw-r--r--src/app-section.c9
6 files changed, 38 insertions, 51 deletions
diff --git a/configure.ac b/configure.ac
index f9f00e9..d9270dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,11 +38,10 @@ AC_PROG_CXX
# Dependencies
###########################
-GTK_REQUIRED_VERSION=3.0
-GIO_UNIX_REQUIRED_VERSION=2.18
-PANEL_REQUIRED_VERSION=2.0.0
+GTK_REQUIRED_VERSION=3.5.12
+GIO_UNIX_REQUIRED_VERSION=2.33.10
INDICATOR_REQUIRED_VERSION=0.3.19
-GLIB_REQUIRED_VERSION=2.31.20
+GLIB_REQUIRED_VERSION=2.33.10
INTROSPECTION_REQUIRED_VERSION=1.32.0
PKG_CHECK_MODULES(APPLET, gtk+-3.0 >= $GTK_REQUIRED_VERSION
diff --git a/debian/changelog b/debian/changelog
index 6be7b09..9c45768 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,8 @@ indicator-messages (12.10.0-0ubuntu1) UNRELEASED; urgency=low
* Updated packaging to dh9, current standards
* Drop gtk2 build from the packaging since support for it was
dropped in trunk, thanks Lars Uebernickel
+ * Backported fixes from trunk up to r284, some of those are needed for the
+ bindings to work
-- Sebastien Bacher <seb128@ubuntu.com> Tue, 21 Aug 2012 18:17:34 +0200
diff --git a/debian/libmessaging-menu0.symbols b/debian/libmessaging-menu0.symbols
index 0b910ea..f2e6328 100644
--- a/debian/libmessaging-menu0.symbols
+++ b/debian/libmessaging-menu0.symbols
@@ -1,32 +1,4 @@
libmessaging-menu.so.0 libmessaging-menu0 #MINVER#
- g_tuple_action_get_type@Base 12.10.0
- g_tuple_action_new@Base 12.10.0
- g_tuple_action_set_child@Base 12.10.0
- indicator_messages_service_call_register_application@Base 12.10.0
- indicator_messages_service_call_register_application_finish@Base 12.10.0
- indicator_messages_service_call_register_application_sync@Base 12.10.0
- indicator_messages_service_call_set_status@Base 12.10.0
- indicator_messages_service_call_set_status_finish@Base 12.10.0
- indicator_messages_service_call_set_status_sync@Base 12.10.0
- indicator_messages_service_call_unregister_application@Base 12.10.0
- indicator_messages_service_call_unregister_application_finish@Base 12.10.0
- indicator_messages_service_call_unregister_application_sync@Base 12.10.0
- indicator_messages_service_complete_register_application@Base 12.10.0
- indicator_messages_service_complete_set_status@Base 12.10.0
- indicator_messages_service_complete_unregister_application@Base 12.10.0
- indicator_messages_service_emit_status_changed@Base 12.10.0
- indicator_messages_service_get_type@Base 12.10.0
- indicator_messages_service_interface_info@Base 12.10.0
- indicator_messages_service_override_properties@Base 12.10.0
- indicator_messages_service_proxy_get_type@Base 12.10.0
- indicator_messages_service_proxy_new@Base 12.10.0
- indicator_messages_service_proxy_new_finish@Base 12.10.0
- indicator_messages_service_proxy_new_for_bus@Base 12.10.0
- indicator_messages_service_proxy_new_for_bus_finish@Base 12.10.0
- indicator_messages_service_proxy_new_for_bus_sync@Base 12.10.0
- indicator_messages_service_proxy_new_sync@Base 12.10.0
- indicator_messages_service_skeleton_get_type@Base 12.10.0
- indicator_messages_service_skeleton_new@Base 12.10.0
messaging_menu_app_append_source@Base 12.10.0
messaging_menu_app_append_source_with_count@Base 12.10.0
messaging_menu_app_append_source_with_string@Base 12.10.0
diff --git a/libmessaging-menu/Makefile.am b/libmessaging-menu/Makefile.am
index 187e6dc..d0f941f 100644
--- a/libmessaging-menu/Makefile.am
+++ b/libmessaging-menu/Makefile.am
@@ -18,7 +18,7 @@ libmessaging_menu_la_CFLAGS = \
$(GIO_CFLAGS) \
-Wall
-libmessaging_menu_la_LDFLAGS = -export-symbols-regex="^messaging_menu_.*"
+libmessaging_menu_la_LDFLAGS = -export-symbols-regex "^messaging_menu_.*"
BUILT_SOURCES = \
indicator-messages-service.c \
diff --git a/libmessaging-menu/messaging-menu.c b/libmessaging-menu/messaging-menu.c
index 336e89c..69fb3b7 100644
--- a/libmessaging-menu/messaging-menu.c
+++ b/libmessaging-menu/messaging-menu.c
@@ -75,6 +75,21 @@ static void global_status_changed (IndicatorMessagesService *service,
gpointer user_data);
static void
+messaging_menu_app_set_desktop_id (MessagingMenuApp *app,
+ const gchar *desktop_id)
+{
+ g_return_if_fail (desktop_id != NULL);
+
+ /* no need to clean up, it's construct only */
+ app->appinfo = g_desktop_app_info_new (desktop_id);
+ if (app->appinfo == NULL)
+ {
+ g_warning ("could not find the desktop file for '%s'",
+ desktop_id);
+ }
+}
+
+static void
messaging_menu_app_set_property (GObject *object,
guint prop_id,
const GValue *value,
@@ -85,12 +100,7 @@ messaging_menu_app_set_property (GObject *object,
switch (prop_id)
{
case PROP_DESKTOP_ID:
- app->appinfo = g_desktop_app_info_new (g_value_get_string (value));
- if (app->appinfo == NULL)
- {
- g_warning ("could not find the desktop file for '%s'",
- g_value_get_string (value));
- }
+ messaging_menu_app_set_desktop_id (app, g_value_get_string (value));
break;
default:
@@ -409,6 +419,8 @@ source_action_activated (GTupleAction *action,
const gchar *name = g_action_get_name (G_ACTION (action));
GQuark q = g_quark_from_string (name);
+ messaging_menu_app_remove_source (app, name);
+
g_signal_emit (app, signals[ACTIVATE_SOURCE], q, name);
}
@@ -501,7 +513,7 @@ messaging_menu_app_insert_source (MessagingMenuApp *app,
* messaging_menu_app_append_source:
* @app: a #MessagingMenuApp
* @id: a unique identifier for the source to be added
- * @icon: the icon associated with the source
+ * @icon: (allow-none): the icon associated with the source
* @label: a user-visible string best describing the source
*
* Appends a new message source to the end of the section representing @app.
@@ -525,7 +537,7 @@ messaging_menu_app_append_source (MessagingMenuApp *app,
* @app: a #MessagingMenuApp
* @position: the position at which to insert the source
* @id: a unique identifier for the source to be added
- * @icon: the icon associated with the source
+ * @icon: (allow-none): the icon associated with the source
* @label: a user-visible string best describing the source
* @count: the count for the source
*
@@ -553,7 +565,7 @@ messaging_menu_app_insert_source_with_count (MessagingMenuApp *app,
* messaging_menu_app_append_source_with_count:
* @app: a #MessagingMenuApp
* @id: a unique identifier for the source to be added
- * @icon: the icon associated with the source
+ * @icon: (allow-none): the icon associated with the source
* @label: a user-visible string best describing the source
* @count: the count for the source
*
@@ -579,7 +591,7 @@ void messaging_menu_app_append_source_with_count (MessagingMenuApp *app,
* @app: a #MessagingMenuApp
* @position: the position at which to insert the source
* @id: a unique identifier for the source to be added
- * @icon: the icon associated with the source
+ * @icon: (allow-none): the icon associated with the source
* @label: a user-visible string best describing the source
* @time: the time when the source was created
*
@@ -608,7 +620,7 @@ messaging_menu_app_insert_source_with_time (MessagingMenuApp *app,
* @app: a #MessagingMenuApp
* @position: the position at which to insert the source
* @id: a unique identifier for the source to be added
- * @icon: the icon associated with the source
+ * @icon: (allow-none): the icon associated with the source
* @label: a user-visible string best describing the source
* @time: the time when the source was created
*
@@ -635,7 +647,7 @@ messaging_menu_app_append_source_with_time (MessagingMenuApp *app,
* @app: a #MessagingMenuApp
* @position: the position at which to insert the source
* @id: a unique identifier for the source to be added
- * @icon: the icon associated with the source
+ * @icon: (allow-none): the icon associated with the source
* @label: a user-visible string best describing the source
* @str: a string associated with the source
*
@@ -664,7 +676,7 @@ messaging_menu_app_insert_source_with_string (MessagingMenuApp *app,
* @app: a #MessagingMenuApp
* @position: the position at which to insert the source
* @id: a unique identifier for the source to be added
- * @icon: the icon associated with the source
+ * @icon: (allow-none): the icon associated with the source
* @label: a user-visible string best describing the source
* @str: a string associated with the source
*
@@ -704,10 +716,7 @@ messaging_menu_app_remove_source (MessagingMenuApp *app,
g_return_if_fail (source_id != NULL);
if (g_simple_action_group_lookup (app->source_actions, source_id) == NULL)
- {
- g_warning ("%s: a source with id '%s' doesn't exist", G_STRFUNC, source_id);
return;
- }
n_items = g_menu_model_get_n_items (G_MENU_MODEL (app->menu));
for (i = 0; i < n_items; i++)
diff --git a/src/app-section.c b/src/app-section.c
index 70bf21e..1574892 100644
--- a/src/app-section.c
+++ b/src/app-section.c
@@ -233,6 +233,8 @@ app_section_dispose (GObject *object)
g_clear_object (&priv->source_actions);
}
+ g_clear_object (&priv->muxer);
+
g_clear_object (&priv->source_menu);
g_clear_object (&priv->ids);
g_clear_object (&priv->appinfo);
@@ -350,6 +352,7 @@ app_section_set_app_info (AppSection *self,
action = g_simple_action_new (nicks[i], NULL);
g_signal_connect(action, "activate", G_CALLBACK (nick_activate_cb), self);
g_simple_action_group_insert (priv->static_shortcuts, G_ACTION (action));
+ g_object_unref (action);
g_menu_append (priv->menu, name, nicks[i]);
@@ -384,8 +387,10 @@ activate_cb (GSimpleAction *action,
GError *error = NULL;
if (!g_app_info_launch (G_APP_INFO (priv->appinfo), NULL, NULL, &error)) {
- g_warning("Unable to execute application for desktop file '%s'",
- g_desktop_app_info_get_filename (priv->appinfo));
+ g_warning("Unable to execute application for desktop file '%s': %s",
+ g_desktop_app_info_get_filename (priv->appinfo),
+ error->message);
+ g_error_free (error);
}
}