mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-27 07:57:27 +00:00
thunar: Fix segfault in case no icon-theme is selected/installed
The patch was sent to xfce bug list [1]. As long as it not applied, make thunar work for us. [1] https://bugzilla.xfce.org/show_bug.cgi?id=7880 Signed-off-by: Andreas Mueller <schnitzeltony@gmx.de> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
committed by
Koen Kooi
parent
1eaf2af7ee
commit
187c1c9bb8
@@ -0,0 +1,61 @@
|
|||||||
|
From 5066ca4983d82352fca078525e2be454b263fdfd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andreas Mueller <schnitzeltony@gmx.de>
|
||||||
|
Date: Thu, 11 Aug 2011 10:00:33 +0200
|
||||||
|
Subject: [PATCH] Fix segfaults in case icons are missing or not found
|
||||||
|
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Mueller <schnitzeltony@gmx.de>
|
||||||
|
---
|
||||||
|
thunar/thunar-location-button.c | 7 +++++--
|
||||||
|
thunar/thunar-window.c | 13 +++++++++----
|
||||||
|
2 files changed, 14 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/thunar/thunar-location-button.c b/thunar/thunar-location-button.c
|
||||||
|
index 49be1f4..20d7110 100644
|
||||||
|
--- a/thunar/thunar-location-button.c
|
||||||
|
+++ b/thunar/thunar-location-button.c
|
||||||
|
@@ -462,9 +462,12 @@ thunar_location_button_file_changed (ThunarLocationButton *location_button,
|
||||||
|
/* update the icon for the image */
|
||||||
|
icon_factory = thunar_icon_factory_get_for_icon_theme (icon_theme);
|
||||||
|
icon = thunar_icon_factory_load_file_icon (icon_factory, file, location_button->file_icon_state, size);
|
||||||
|
- gtk_image_set_from_pixbuf (GTK_IMAGE (location_button->image), icon);
|
||||||
|
+ if (G_LIKELY (icon != NULL))
|
||||||
|
+ {
|
||||||
|
+ gtk_image_set_from_pixbuf (GTK_IMAGE (location_button->image), icon);
|
||||||
|
+ g_object_unref (G_OBJECT (icon));
|
||||||
|
+ }
|
||||||
|
g_object_unref (G_OBJECT (icon_factory));
|
||||||
|
- g_object_unref (G_OBJECT (icon));
|
||||||
|
|
||||||
|
/* show the image widget */
|
||||||
|
gtk_widget_show (location_button->image);
|
||||||
|
diff --git a/thunar/thunar-window.c b/thunar/thunar-window.c
|
||||||
|
index d258d8f..2ed1af7 100644
|
||||||
|
--- a/thunar/thunar-window.c
|
||||||
|
+++ b/thunar/thunar-window.c
|
||||||
|
@@ -2410,13 +2410,18 @@ thunar_window_current_directory_changed (ThunarFile *current_directory,
|
||||||
|
gtk_action_set_sensitive (action, (thunar_file_get_item_count (current_directory) > 0));
|
||||||
|
gtk_action_set_visible (action, (thunar_file_is_root (current_directory) && thunar_file_is_trashed (current_directory)));
|
||||||
|
|
||||||
|
- /* set window title and icon */
|
||||||
|
+ /* set window title */
|
||||||
|
title = g_strdup_printf ("%s - %s", thunar_file_get_display_name (current_directory), _("File Manager"));
|
||||||
|
- icon = thunar_icon_factory_load_file_icon (window->icon_factory, current_directory, THUNAR_FILE_ICON_STATE_DEFAULT, 48);
|
||||||
|
gtk_window_set_title (GTK_WINDOW (window), title);
|
||||||
|
- gtk_window_set_icon (GTK_WINDOW (window), icon);
|
||||||
|
- g_object_unref (G_OBJECT (icon));
|
||||||
|
g_free (title);
|
||||||
|
+
|
||||||
|
+ /* set window icon */
|
||||||
|
+ icon = thunar_icon_factory_load_file_icon (window->icon_factory, current_directory, THUNAR_FILE_ICON_STATE_DEFAULT, 48);
|
||||||
|
+ if (G_LIKELY (icon != NULL))
|
||||||
|
+ {
|
||||||
|
+ gtk_window_set_icon (GTK_WINDOW (window), icon);
|
||||||
|
+ g_object_unref (G_OBJECT (icon));
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
1.7.4.4
|
||||||
|
|
||||||
@@ -4,21 +4,18 @@ LICENSE = "GPLv2"
|
|||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||||
DEPENDS = "exo gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify"
|
DEPENDS = "exo gtk+ gdk-pixbuf libxfce4util libxfce4ui libsm dbus-glib startup-notification libnotify"
|
||||||
|
|
||||||
PR = "r0"
|
PR = "r1"
|
||||||
|
|
||||||
inherit xfce
|
inherit xfce
|
||||||
|
|
||||||
# SRC_URI must follow inherited one
|
# SRC_URI must follow inherited one
|
||||||
SRC_URI = "http://archive.xfce.org/src/xfce/${PN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2 \
|
SRC_URI = "http://archive.xfce.org/src/xfce/${PN}/${@'${PV}'[0:3]}/Thunar-${PV}.tar.bz2 \
|
||||||
file://relative-symlinks-docs.patch \
|
file://relative-symlinks-docs.patch \
|
||||||
|
file://fix-segfault-no-icons.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
S = "${WORKDIR}/Thunar-${PV}/"
|
S = "${WORKDIR}/Thunar-${PV}/"
|
||||||
|
|
||||||
|
|
||||||
# no/minimum(default)/yes/full(fails <- Werror)
|
|
||||||
#EXTRA_OECONF += "--enable-debug=yes"
|
|
||||||
|
|
||||||
FILES_${PN} += "${libdir}/thunarx-2/* \
|
FILES_${PN} += "${libdir}/thunarx-2/* \
|
||||||
${libdir}/xfce4/panel/plugins/* \
|
${libdir}/xfce4/panel/plugins/* \
|
||||||
${libdir}/Thunar/[Tt]hunar* \
|
${libdir}/Thunar/[Tt]hunar* \
|
||||||
|
|||||||
Reference in New Issue
Block a user