From c93f360e3d357d2447e34a97048213c149bdc42b Mon Sep 17 00:00:00 2001 From: gpoirier Date: Sun, 9 Apr 2006 13:52:45 +0000 Subject: fix segfault in the skin browser when sbSelectedSkin gets dereferenced before setting, when no skin is selected in the skin list upon opening the browser, and "Cancel" or "OK" buttons get clicked. Noticed when runnig freshly compiled gmplayer on a system where the skins were still under the old location. based on a combined patch by Stanislav Maslovski git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18067 b3059339-0415-0410-9bf9-f77b7e298cf2 --- Gui/mplayer/gtk/sb.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'Gui/mplayer') diff --git a/Gui/mplayer/gtk/sb.c b/Gui/mplayer/gtk/sb.c index 2293239504..eb00f55d67 100644 --- a/Gui/mplayer/gtk/sb.c +++ b/Gui/mplayer/gtk/sb.c @@ -24,8 +24,8 @@ char * sbMPlayerDirInHome_obsolete=NULL; char * sbMPlayerPrefixDir=NULL; char * sbMPlayerPrefixDir_obsolete=NULL; -char * gtkOldSkin; -static char * prev; +char * gtkOldSkin=NULL; +static char * prev=NULL; GtkWidget * SkinBrowser = NULL; @@ -77,9 +77,11 @@ int gtkFillSkinList( gchar * mdir ) static void prButton( GtkObject * object,gpointer user_data ) { - switch ( (int)user_data ) - { - case 0: // cancel + if ( sbSelectedSkin ) + { + switch ( (int)user_data ) + { + case 0: // cancel if ( strcmp( sbSelectedSkin,gtkOldSkin ) ) ChangeSkin( gtkOldSkin ); break; case 1: // ok @@ -88,6 +90,7 @@ static void prButton( GtkObject * object,gpointer user_data ) skinName=strdup( sbSelectedSkin ); break; } + } HideSkinBrowser(); } -- cgit v1.2.3