summaryrefslogtreecommitdiffstats
path: root/Gui
diff options
context:
space:
mode:
authorgpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-09 13:52:45 +0000
committergpoirier <gpoirier@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-09 13:52:45 +0000
commitc93f360e3d357d2447e34a97048213c149bdc42b (patch)
tree22248557b50c36074e8ca9f175786ecb55f5831c /Gui
parentb2360d8174d90829fdb647438606dc0388953806 (diff)
downloadmpv-c93f360e3d357d2447e34a97048213c149bdc42b.tar.bz2
mpv-c93f360e3d357d2447e34a97048213c149bdc42b.tar.xz
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 <stanislav POIS maslovski AH gmail POIS com> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18067 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui')
-rw-r--r--Gui/mplayer/gtk/sb.c13
1 files changed, 8 insertions, 5 deletions
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();
}