Date: Thursday, October 30, 2014 @ 21:12:47 Author: heftig Revision: 121607
3.14.0 Modified: notification-daemon/trunk/PKGBUILD Deleted: notification-daemon/trunk/fix-boolean-hint.patch notification-daemon/trunk/fix-gsource-usage.patch notification-daemon/trunk/fix-position.patch -------------------------+ PKGBUILD | 26 +-------- fix-boolean-hint.patch | 104 ------------------------------------- fix-gsource-usage.patch | 49 ----------------- fix-position.patch | 128 ---------------------------------------------- 4 files changed, 4 insertions(+), 303 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-10-30 17:46:17 UTC (rev 121606) +++ PKGBUILD 2014-10-30 20:12:47 UTC (rev 121607) @@ -3,8 +3,8 @@ # Contributor: Mark Rosenstand <[email protected]> pkgname=notification-daemon -pkgver=0.7.6 -pkgrel=3 +pkgver=3.14.0 +pkgrel=1 pkgdesc="Notification daemon for the desktop notifications framework" arch=(i686 x86_64) license=(GPL) @@ -11,29 +11,11 @@ url="http://www.gnome.org/" depends=(gtk3 libcanberra) makedepends=(intltool) -source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz - fix-boolean-hint.patch - fix-gsource-usage.patch - fix-position.patch) -sha256sums=('64d0ce6fb12c94c3b73b701502c804c408cb5a94580bcae5ac37607639f7a0b3' - 'ba4e4fe42d82034cd12cb10d1c3c9c6f4318b5d9e10e7829ec0478b6ce801282' - '2c36bb0c77f27345f18240c7ba39aff7e559fd5155c54d83bc18e21ca13ce9ff' - 'a4e5ed7cdf42a137b1672b8128eb7a754ceece57243a02e0dc4dd977911beea2') +source=(http://download.gnome.org/sources/${pkgname}/${pkgver:0:4}/${pkgname}-${pkgver}.tar.xz) +sha256sums=('6f55108e2964d0e0186c8886a545d0537052dc32010218cd657658534c316797') prepare() { cd ${pkgname}-${pkgver} - - # Avoid crashes for boolean hints - # https://bugzilla.gnome.org/show_bug.cgi?id=665166 - patch -Np1 -i ../fix-boolean-hint.patch - - # Fix GSource usage with recent GLib - # https://bugzilla.gnome.org/show_bug.cgi?id=728157 - patch -Np1 -i ../fix-gsource-usage.patch - - # Fix positioning notifications with long text - # https://bugzilla.gnome.org/show_bug.cgi?id=687724 - patch -Np1 -i ../fix-position.patch } build() { Deleted: fix-boolean-hint.patch =================================================================== --- fix-boolean-hint.patch 2014-10-30 17:46:17 UTC (rev 121606) +++ fix-boolean-hint.patch 2014-10-30 20:12:47 UTC (rev 121607) @@ -1,104 +0,0 @@ -From 9eb0d66eb763ecd3f232b7fd65287835c3ac5bcf Mon Sep 17 00:00:00 2001 -From: [email protected] -Date: Wed, 8 Oct 2014 23:40:59 +0200 -Subject: [PATCH] Avoid crashes for boolean hints - -Check the type of the incoming hint and use the appropriate -g_variant_get_* function. -It also applies the same fix for the "resident" and "action-icons" -hints. - -https://bugzilla.gnome.org/show_bug.cgi?id=665166 ---- - src/nd-notification.c | 55 +++++++++++++++++++++++++-------------------------- - 1 file changed, 27 insertions(+), 28 deletions(-) - -diff --git a/src/nd-notification.c b/src/nd-notification.c -index 05372d0..fdb2c2b 100644 ---- a/src/nd-notification.c -+++ b/src/nd-notification.c -@@ -224,54 +224,53 @@ nd_notification_get_is_closed (NdNotification *notification) - } - - gboolean --nd_notification_get_is_transient (NdNotification *notification) -+nd_notification_get_bool (NdNotification *notification, const char *name) - { - gboolean ret; - GVariant *value; -- - ret = FALSE; - g_return_val_if_fail (ND_IS_NOTIFICATION (notification), FALSE); - -- value = g_hash_table_lookup (notification->hints, "transient"); -+ value = g_hash_table_lookup (notification->hints, name); - if (value != NULL) { -- ret = g_variant_get_boolean (value); -+ if (g_variant_is_of_type (value, G_VARIANT_TYPE_BOOLEAN)) { -+ ret = g_variant_get_boolean (value); -+ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_BYTE)) { -+ ret = (g_variant_get_byte (value) != 0); -+ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT16)) { -+ ret = (g_variant_get_int16 (value) != 0); -+ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_UINT16)) { -+ ret = (g_variant_get_uint16 (value) != 0); -+ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT32)) { -+ ret = (g_variant_get_int32 (value) != 0); -+ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_UINT32)) { -+ ret = (g_variant_get_uint32 (value) != 0); -+ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_INT64)) { -+ ret = (g_variant_get_int64 (value) != 0); -+ } else if (g_variant_is_of_type (value, G_VARIANT_TYPE_UINT64)) { -+ ret = (g_variant_get_uint64 (value) != 0); -+ } - } - - return ret; - } - - gboolean --nd_notification_get_is_resident (NdNotification *notification) -+nd_notification_get_is_transient (NdNotification *notification) - { -- gboolean ret; -- GVariant *value; -- -- ret = FALSE; -- g_return_val_if_fail (ND_IS_NOTIFICATION (notification), FALSE); -- -- value = g_hash_table_lookup (notification->hints, "resident"); -- if (value != NULL) { -- ret = g_variant_get_boolean (value); -- } -+ return nd_notification_get_bool (notification, "transient"); -+} - -- return ret; -+gboolean -+nd_notification_get_is_resident (NdNotification *notification) -+{ -+ return nd_notification_get_bool (notification, "resident"); - } - - gboolean - nd_notification_get_action_icons (NdNotification *notification) - { -- gboolean ret; -- GVariant *value; -- -- ret = FALSE; -- g_return_val_if_fail (ND_IS_NOTIFICATION (notification), FALSE); -- -- value = g_hash_table_lookup (notification->hints, "action-icons"); -- if (value != NULL) { -- ret = g_variant_get_boolean (value); -- } -- -- return ret; -+ return nd_notification_get_bool (notification, "action-icons"); - } - - guint32 --- -2.1.2 - Deleted: fix-gsource-usage.patch =================================================================== --- fix-gsource-usage.patch 2014-10-30 17:46:17 UTC (rev 121606) +++ fix-gsource-usage.patch 2014-10-30 20:12:47 UTC (rev 121607) @@ -1,49 +0,0 @@ -From 7e458afddc7c57eba5c392a7a89990600a070ae5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <[email protected]> -Date: Wed, 8 Oct 2014 23:35:37 +0200 -Subject: [PATCH] Fix GSource usage with recent GLib - -https://bugzilla.gnome.org/show_bug.cgi?id=728157 ---- - src/nd-bubble.c | 1 + - src/nd-queue.c | 5 +++++ - 2 files changed, 6 insertions(+) - -diff --git a/src/nd-bubble.c b/src/nd-bubble.c -index 0587478..6de7f8f 100644 ---- a/src/nd-bubble.c -+++ b/src/nd-bubble.c -@@ -420,6 +420,7 @@ nd_bubble_enter_notify_event (GtkWidget *widget, - NdBubble *bubble = ND_BUBBLE (widget); - if (bubble->priv->timeout_id != 0) { - g_source_remove (bubble->priv->timeout_id); -+ bubble->priv->timeout_id = 0; - } - - return FALSE; -diff --git a/src/nd-queue.c b/src/nd-queue.c -index de73940..b744b88 100644 ---- a/src/nd-queue.c -+++ b/src/nd-queue.c -@@ -532,6 +532,10 @@ nd_queue_finalize (GObject *object) - - g_return_if_fail (queue->priv != NULL); - -+ if (queue->priv->update_id != 0) { -+ g_source_remove (queue->priv->update_id); -+ } -+ - g_hash_table_destroy (queue->priv->notifications); - g_queue_free (queue->priv->queue); - -@@ -919,6 +923,7 @@ update_idle (NdQueue *queue) - } - } - -+ queue->priv->update_id = 0; - return FALSE; - } - --- -2.1.2 - Deleted: fix-position.patch =================================================================== --- fix-position.patch 2014-10-30 17:46:17 UTC (rev 121606) +++ fix-position.patch 2014-10-30 20:12:47 UTC (rev 121607) @@ -1,128 +0,0 @@ -From cef286903c24795e72cae8795c7b433b6baf9f57 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <[email protected]> -Date: Wed, 8 Oct 2014 23:57:34 +0200 -Subject: [PATCH] Fix positioning notifications with long text - -https://bugzilla.gnome.org/show_bug.cgi?id=687724 ---- - src/nd-bubble.c | 13 +++++++++++++ - src/nd-notification-box.c | 2 ++ - src/nd-stack.c | 16 ++++++++-------- - 3 files changed, 23 insertions(+), 8 deletions(-) - -diff --git a/src/nd-bubble.c b/src/nd-bubble.c -index 0587478..2d36003 100644 ---- a/src/nd-bubble.c -+++ b/src/nd-bubble.c -@@ -413,6 +413,16 @@ nd_bubble_realize (GtkWidget *widget) - GTK_WIDGET_CLASS (nd_bubble_parent_class)->realize (widget); - } - -+static void -+nd_bubble_get_preferred_width (GtkWidget *widget, -+ gint *min_width, -+ gint *nat_width) -+{ -+ if (nat_width != NULL) { -+ *nat_width = WIDTH; -+ } -+} -+ - static gboolean - nd_bubble_enter_notify_event (GtkWidget *widget, - GdkEventCrossing *event) -@@ -450,6 +460,7 @@ nd_bubble_class_init (NdBubbleClass *klass) - widget_class->enter_notify_event = nd_bubble_enter_notify_event; - widget_class->leave_notify_event = nd_bubble_leave_notify_event; - widget_class->realize = nd_bubble_realize; -+ widget_class->get_preferred_width = nd_bubble_get_preferred_width; - - g_type_class_add_private (klass, sizeof (NdBubblePrivate)); - } -@@ -622,6 +633,7 @@ nd_bubble_init (NdBubble *bubble) - gtk_box_pack_start (GTK_BOX (vbox), bubble->priv->summary_label, TRUE, TRUE, 0); - gtk_misc_set_alignment (GTK_MISC (bubble->priv->summary_label), 0, 0); - gtk_label_set_line_wrap (GTK_LABEL (bubble->priv->summary_label), TRUE); -+ gtk_label_set_line_wrap_mode (GTK_LABEL (bubble->priv->summary_label), PANGO_WRAP_WORD_CHAR); - - atkobj = gtk_widget_get_accessible (bubble->priv->summary_label); - atk_object_set_description (atkobj, "Notification summary text."); -@@ -644,6 +656,7 @@ nd_bubble_init (NdBubble *bubble) - gtk_box_pack_start (GTK_BOX (vbox), bubble->priv->body_label, TRUE, TRUE, 0); - gtk_misc_set_alignment (GTK_MISC (bubble->priv->body_label), 0, 0); - gtk_label_set_line_wrap (GTK_LABEL (bubble->priv->body_label), TRUE); -+ gtk_label_set_line_wrap_mode (GTK_LABEL (bubble->priv->body_label), PANGO_WRAP_WORD_CHAR); - g_signal_connect (bubble->priv->body_label, - "activate-link", - G_CALLBACK (on_activate_link), -diff --git a/src/nd-notification-box.c b/src/nd-notification-box.c -index 352c515..12267a9 100644 ---- a/src/nd-notification-box.c -+++ b/src/nd-notification-box.c -@@ -336,6 +336,7 @@ nd_notification_box_init (NdNotificationBox *notification_box) - gtk_box_pack_start (GTK_BOX (vbox), notification_box->priv->summary_label, TRUE, TRUE, 0); - gtk_misc_set_alignment (GTK_MISC (notification_box->priv->summary_label), 0, 0); - gtk_label_set_line_wrap (GTK_LABEL (notification_box->priv->summary_label), TRUE); -+ gtk_label_set_line_wrap_mode (GTK_LABEL (notification_box->priv->summary_label), PANGO_WRAP_WORD_CHAR); - - atkobj = gtk_widget_get_accessible (notification_box->priv->summary_label); - atk_object_set_description (atkobj, "Notification summary text."); -@@ -354,6 +355,7 @@ nd_notification_box_init (NdNotificationBox *notification_box) - gtk_box_pack_start (GTK_BOX (vbox), notification_box->priv->body_label, TRUE, TRUE, 0); - gtk_misc_set_alignment (GTK_MISC (notification_box->priv->body_label), 0, 0); - gtk_label_set_line_wrap (GTK_LABEL (notification_box->priv->body_label), TRUE); -+ gtk_label_set_line_wrap_mode (GTK_LABEL (notification_box->priv->body_label), PANGO_WRAP_WORD_CHAR); - - atkobj = gtk_widget_get_accessible (notification_box->priv->body_label); - atk_object_set_description (atkobj, "Notification body text."); -diff --git a/src/nd-stack.c b/src/nd-stack.c -index 6c03acc..2206dad 100644 ---- a/src/nd-stack.c -+++ b/src/nd-stack.c -@@ -357,10 +357,10 @@ nd_stack_shift_notifications (NdStack *stack, - - for (i = 0, l = stack->priv->bubbles; l != NULL; i++, l = l->next) { - NdBubble *nw2 = ND_BUBBLE (l->data); -- GtkRequisition req; -+ GtkRequisition minimum_size, natural_size; - - if (bubble == NULL || nw2 != bubble) { -- gtk_widget_size_request (GTK_WIDGET (nw2), &req); -+ gtk_widget_get_preferred_size (GTK_WIDGET (nw2), &minimum_size, &natural_size); - - translate_coordinates (stack->priv->location, - &workarea, -@@ -368,8 +368,8 @@ nd_stack_shift_notifications (NdStack *stack, - &y, - &shiftx, - &shifty, -- req.width, -- req.height + NOTIFY_STACK_SPACING); -+ natural_size.width, -+ natural_size.height + NOTIFY_STACK_SPACING); - positions[i].x = x; - positions[i].y = y; - } else if (nw_l != NULL) { -@@ -428,15 +428,15 @@ nd_stack_add_bubble (NdStack *stack, - NdBubble *bubble, - gboolean new_notification) - { -- GtkRequisition req; -+ GtkRequisition minimum_size, natural_size; - int x, y; - -- gtk_widget_size_request (GTK_WIDGET (bubble), &req); -+ gtk_widget_get_preferred_size (GTK_WIDGET (bubble), &minimum_size, &natural_size); - nd_stack_shift_notifications (stack, - bubble, - NULL, -- req.width, -- req.height + NOTIFY_STACK_SPACING, -+ natural_size.width, -+ natural_size.height + NOTIFY_STACK_SPACING, - &x, - &y); - gtk_widget_show (GTK_WIDGET (bubble)); --- -2.1.2 -
