diff options
Diffstat (limited to 'meta-xfce')
| -rw-r--r-- | meta-xfce/recipes-xfce/thunar/thunar/fix-segfault-no-icons.patch | 61 | ||||
| -rw-r--r-- | meta-xfce/recipes-xfce/thunar/thunar_1.2.2.bb | 7 |
2 files changed, 63 insertions, 5 deletions
diff --git a/meta-xfce/recipes-xfce/thunar/thunar/fix-segfault-no-icons.patch b/meta-xfce/recipes-xfce/thunar/thunar/fix-segfault-no-icons.patch new file mode 100644 index 0000000000..f0ff412dc8 --- /dev/null +++ b/meta-xfce/recipes-xfce/thunar/thunar/fix-segfault-no-icons.patch | |||
| @@ -0,0 +1,61 @@ | |||
| 1 | From 5066ca4983d82352fca078525e2be454b263fdfd Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Andreas Mueller <schnitzeltony@gmx.de> | ||
| 3 | Date: Thu, 11 Aug 2011 10:00:33 +0200 | ||
| 4 | Subject: [PATCH] Fix segfaults in case icons are missing or not found | ||
| 5 | |||
| 6 | |||
| 7 | Signed-off-by: Andreas Mueller <schnitzeltony@gmx.de> | ||
| 8 | --- | ||
| 9 | thunar/thunar-location-button.c | 7 +++++-- | ||
| 10 | thunar/thunar-window.c | 13 +++++++++---- | ||
| 11 | 2 files changed, 14 insertions(+), 6 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/thunar/thunar-location-button.c b/thunar/thunar-location-button.c | ||
| 14 | index 49be1f4..20d7110 100644 | ||
| 15 | --- a/thunar/thunar-location-button.c | ||
| 16 | +++ b/thunar/thunar-location-button.c | ||
| 17 | @@ -462,9 +462,12 @@ thunar_location_button_file_changed (ThunarLocationButton *location_button, | ||
| 18 | /* update the icon for the image */ | ||
| 19 | icon_factory = thunar_icon_factory_get_for_icon_theme (icon_theme); | ||
| 20 | icon = thunar_icon_factory_load_file_icon (icon_factory, file, location_button->file_icon_state, size); | ||
| 21 | - gtk_image_set_from_pixbuf (GTK_IMAGE (location_button->image), icon); | ||
| 22 | + if (G_LIKELY (icon != NULL)) | ||
| 23 | + { | ||
| 24 | + gtk_image_set_from_pixbuf (GTK_IMAGE (location_button->image), icon); | ||
| 25 | + g_object_unref (G_OBJECT (icon)); | ||
| 26 | + } | ||
| 27 | g_object_unref (G_OBJECT (icon_factory)); | ||
| 28 | - g_object_unref (G_OBJECT (icon)); | ||
| 29 | |||
| 30 | /* show the image widget */ | ||
| 31 | gtk_widget_show (location_button->image); | ||
| 32 | diff --git a/thunar/thunar-window.c b/thunar/thunar-window.c | ||
| 33 | index d258d8f..2ed1af7 100644 | ||
| 34 | --- a/thunar/thunar-window.c | ||
| 35 | +++ b/thunar/thunar-window.c | ||
| 36 | @@ -2410,13 +2410,18 @@ thunar_window_current_directory_changed (ThunarFile *current_directory, | ||
| 37 | gtk_action_set_sensitive (action, (thunar_file_get_item_count (current_directory) > 0)); | ||
| 38 | gtk_action_set_visible (action, (thunar_file_is_root (current_directory) && thunar_file_is_trashed (current_directory))); | ||
| 39 | |||
| 40 | - /* set window title and icon */ | ||
| 41 | + /* set window title */ | ||
| 42 | title = g_strdup_printf ("%s - %s", thunar_file_get_display_name (current_directory), _("File Manager")); | ||
| 43 | - icon = thunar_icon_factory_load_file_icon (window->icon_factory, current_directory, THUNAR_FILE_ICON_STATE_DEFAULT, 48); | ||
| 44 | gtk_window_set_title (GTK_WINDOW (window), title); | ||
| 45 | - gtk_window_set_icon (GTK_WINDOW (window), icon); | ||
| 46 | - g_object_unref (G_OBJECT (icon)); | ||
| 47 | g_free (title); | ||
| 48 | + | ||
| 49 | + /* set window icon */ | ||
| 50 | + icon = thunar_icon_factory_load_file_icon (window->icon_factory, current_directory, THUNAR_FILE_ICON_STATE_DEFAULT, 48); | ||
| 51 | + if (G_LIKELY (icon != NULL)) | ||
| 52 | + { | ||
| 53 | + gtk_window_set_icon (GTK_WINDOW (window), icon); | ||
| 54 | + g_object_unref (G_OBJECT (icon)); | ||
| 55 | + } | ||
| 56 | } | ||
| 57 | |||
| 58 | |||
| 59 | -- | ||
| 60 | 1.7.4.4 | ||
| 61 | |||
diff --git a/meta-xfce/recipes-xfce/thunar/thunar_1.2.2.bb b/meta-xfce/recipes-xfce/thunar/thunar_1.2.2.bb index c978855af4..1c553ab9a3 100644 --- a/meta-xfce/recipes-xfce/thunar/thunar_1.2.2.bb +++ b/meta-xfce/recipes-xfce/thunar/thunar_1.2.2.bb | |||
| @@ -4,21 +4,18 @@ LICENSE = "GPLv2" | |||
| 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" |
| 5 | DEPENDS = "exo gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify" | 5 | DEPENDS = "exo gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify" |
| 6 | 6 | ||
| 7 | PR = "r0" | 7 | PR = "r1" |
| 8 | 8 | ||
| 9 | inherit xfce | 9 | inherit xfce |
| 10 | 10 | ||
| 11 | # SRC_URI must follow inherited one | 11 | # SRC_URI must follow inherited one |
| 12 | SRC_URI = "http://archive.xfce.org/src/xfce/${PN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2 \ | 12 | SRC_URI = "http://archive.xfce.org/src/xfce/${PN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2 \ |
| 13 | file://relative-symlinks-docs.patch \ | 13 | file://relative-symlinks-docs.patch \ |
| 14 | file://fix-segfault-no-icons.patch \ | ||
| 14 | " | 15 | " |
| 15 | 16 | ||
| 16 | S = "${WORKDIR}/Thunar-${PV}/" | 17 | S = "${WORKDIR}/Thunar-${PV}/" |
| 17 | 18 | ||
| 18 | |||
| 19 | # no/minimum(default)/yes/full(fails <- Werror) | ||
| 20 | #EXTRA_OECONF += "--enable-debug=yes" | ||
| 21 | |||
| 22 | FILES_${PN} += "${libdir}/thunarx-2/* \ | 19 | FILES_${PN} += "${libdir}/thunarx-2/* \ |
| 23 | ${libdir}/xfce4/panel/plugins/* \ | 20 | ${libdir}/xfce4/panel/plugins/* \ |
| 24 | ${libdir}/Thunar/[Tt]hunar* \ | 21 | ${libdir}/Thunar/[Tt]hunar* \ |
