aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2009-01-09 12:15:30 +0000
committerThierry Vignaud <tv@mandriva.org>2009-01-09 12:15:30 +0000
commitc288fd47b80dcbd604b9b55e3ec175a216a200c5 (patch)
treed516df8e26e6d9765eeaee06db1c16cbf0ef9eef
parentd57d40de39046e9a9d235bed8cb7dd70720b67be (diff)
downloaduserdrake-c288fd47b80dcbd604b9b55e3ec175a216a200c5.tar
userdrake-c288fd47b80dcbd604b9b55e3ec175a216a200c5.tar.gz
userdrake-c288fd47b80dcbd604b9b55e3ec175a216a200c5.tar.bz2
userdrake-c288fd47b80dcbd604b9b55e3ec175a216a200c5.tar.xz
userdrake-c288fd47b80dcbd604b9b55e3ec175a216a200c5.zip
(GetFaceIcon) do not crash if some face images are missing (#45024)
-rw-r--r--NEWS1
-rwxr-xr-xuserdrake5
2 files changed, 5 insertions, 1 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..c58f3b2
--- /dev/null
+++ b/NEWS
@@ -0,0 +1 @@
+- do not crash if some face images are missing (#45024)
diff --git a/userdrake b/userdrake
index c8a71c2..f311aa7 100755
--- a/userdrake
+++ b/userdrake
@@ -274,7 +274,10 @@ sub GetFaceIcon {
my $f = $icon =~ m,^/, ? $icon : any::face2png($icon);
$us->{o}{iconval} = $icon;
gtkdestroy($us->{o}{icon});
- $us->{o}{icon} = -e $f ? gtkcreate_img($f) : Gtk2::Label->new("No Icon");
+ # so that we do display "no icon" if either file doesn't exist or it's corrupted:
+ undef $us->{o}{icon};
+ $us->{o}{icon} = eval { gtkcreate_img($f) } if -e $f;
+ $us->{o}{icon} ||= Gtk2::Label->new("No Icon");
$bt->add($us->{o}{icon});
$us->{o}{icon}->show;
};