Commit 06aa618a authored by Sam Hocevar's avatar Sam Hocevar

* ./modules/gui/familiar/*: compilation fixes. Crashes on directory change.

parent 9b08202a
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* callbacks.c : Callbacks for the Familiar Linux Gtk+ plugin. * callbacks.c : Callbacks for the Familiar Linux Gtk+ plugin.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * Copyright (C) 2000, 2001 VideoLAN
* $Id: callbacks.c,v 1.11 2002/12/09 21:37:41 jpsaman Exp $ * $Id: callbacks.c,v 1.12 2002/12/12 12:24:23 sam Exp $
* *
* Authors: Jean-Paul Saman <jpsaman@wxs.nl> * Authors: Jean-Paul Saman <jpsaman@wxs.nl>
* *
...@@ -103,12 +103,12 @@ static void MediaURLOpenChanged( GtkWidget *widget, gchar *psz_url ) ...@@ -103,12 +103,12 @@ static void MediaURLOpenChanged( GtkWidget *widget, gchar *psz_url )
if( p_playlist ) if( p_playlist )
{ {
if (p_intf->p_sys->b_autoplayfile) if (p_intf->p_sys->b_autoplayfile)
{ {
playlist_Add( p_playlist, (char*)psz_url, playlist_Add( p_playlist, (char*)psz_url,
PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END ); PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
} }
else else
{ {
playlist_Add( p_playlist, (char*)psz_url, playlist_Add( p_playlist, (char*)psz_url,
PLAYLIST_APPEND, PLAYLIST_END ); PLAYLIST_APPEND, PLAYLIST_END );
} }
...@@ -125,11 +125,12 @@ void ReadDirectory( GtkCList *clist, char *psz_dir ) ...@@ -125,11 +125,12 @@ void ReadDirectory( GtkCList *clist, char *psz_dir )
struct dirent **namelist; struct dirent **namelist;
int n,status; int n,status;
msg_Err(p_intf, "changing to dir %s\n", psz_dir);
if (psz_dir) if (psz_dir)
{ {
status = chdir(psz_dir); status = chdir(psz_dir);
if (status<0) if (status<0)
intf_ErrMsg("File is not a directory."); msg_Err( p_intf, "file is not a directory" );
} }
n = scandir(".", &namelist, 0, alphasort); n = scandir(".", &namelist, 0, alphasort);
...@@ -138,7 +139,7 @@ void ReadDirectory( GtkCList *clist, char *psz_dir ) ...@@ -138,7 +139,7 @@ void ReadDirectory( GtkCList *clist, char *psz_dir )
else else
{ {
gchar *ppsz_text[2]; gchar *ppsz_text[2];
int i; int i;
gtk_clist_freeze( clist ); gtk_clist_freeze( clist );
gtk_clist_clear( clist ); gtk_clist_clear( clist );
...@@ -316,7 +317,6 @@ on_toolbar_play_clicked (GtkButton *button, ...@@ -316,7 +317,6 @@ on_toolbar_play_clicked (GtkButton *button,
if( p_playlist != NULL ) if( p_playlist != NULL )
{ {
input_SetStatus( p_playlist, INPUT_STATUS_PLAY ); input_SetStatus( p_playlist, INPUT_STATUS_PLAY );
p_main->p_playlist->b_stopped = 0;
gdk_window_lower( p_intf->p_sys->p_window->window ); gdk_window_lower( p_intf->p_sys->p_window->window );
} }
else else
...@@ -453,7 +453,7 @@ on_clistmedia_select_row (GtkCList *clist, ...@@ -453,7 +453,7 @@ on_clistmedia_select_row (GtkCList *clist,
GdkEvent *event, GdkEvent *event,
gpointer user_data) gpointer user_data)
{ {
intf_thread_t *p_intf = p_main->p_intf; intf_thread_t * p_intf = GtkGetIntf( clist );
gchar *text[2]; gchar *text[2];
gint ret; gint ret;
struct stat st; struct stat st;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* familiar.c : familiar plugin for vlc * familiar.c : familiar plugin for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2002 VideoLAN * Copyright (C) 2002 VideoLAN
* $Id: familiar.c,v 1.11 2002/12/09 21:37:41 jpsaman Exp $ * $Id: familiar.c,v 1.12 2002/12/12 12:24:23 sam Exp $
* *
* Authors: Jean-Paul Saman <jpsaman@wxs.nl> * Authors: Jean-Paul Saman <jpsaman@wxs.nl>
* *
...@@ -47,11 +47,11 @@ ...@@ -47,11 +47,11 @@
* Local prototypes. * Local prototypes.
*****************************************************************************/ *****************************************************************************/
static int Open ( vlc_object_t * ); static int Open ( vlc_object_t * );
static void Close ( vlc_object_t * ); static void Close ( vlc_object_t * );
static void Run ( intf_thread_t * ); static void Run ( intf_thread_t * );
void GtkAutoPlayFile( void ); void GtkAutoPlayFile( vlc_object_t * );
/***************************************************************************** /*****************************************************************************
* Module descriptor * Module descriptor
...@@ -64,8 +64,8 @@ void GtkAutoPlayFile( void ); ...@@ -64,8 +64,8 @@ void GtkAutoPlayFile( void );
* Module descriptor * Module descriptor
*****************************************************************************/ *****************************************************************************/
vlc_module_begin(); vlc_module_begin();
add_category_Hint( N_("Miscellaneous"), NULL ) add_category_hint( N_("Miscellaneous"), NULL );
add_bool( "familiar-autoplayfile", 1, GtkAutoPlayFile, AUTOPLAYFILE_TEXT, AUTOPLAYFILE_LONGTEXT) add_bool( "familiar-autoplayfile", 1, GtkAutoPlayFile, AUTOPLAYFILE_TEXT, AUTOPLAYFILE_LONGTEXT );
set_description( _("Familiar Linux Gtk+ interface module") ); set_description( _("Familiar Linux Gtk+ interface module") );
set_capability( "interface", 70 ); set_capability( "interface", 70 );
set_callbacks( Open, Close ); set_callbacks( Open, Close );
...@@ -75,7 +75,7 @@ vlc_module_end(); ...@@ -75,7 +75,7 @@ vlc_module_end();
* Open: initialize and create window * Open: initialize and create window
*****************************************************************************/ *****************************************************************************/
static int Open( vlc_object_t *p_this ) static int Open( vlc_object_t *p_this )
{ {
intf_thread_t *p_intf = (intf_thread_t *)p_this; intf_thread_t *p_intf = (intf_thread_t *)p_this;
/* Allocate instance and initialize some members */ /* Allocate instance and initialize some members */
...@@ -107,7 +107,7 @@ static int Open( vlc_object_t *p_this ) ...@@ -107,7 +107,7 @@ static int Open( vlc_object_t *p_this )
* Close: destroy interface window * Close: destroy interface window
*****************************************************************************/ *****************************************************************************/
static void Close( vlc_object_t *p_this ) static void Close( vlc_object_t *p_this )
{ {
intf_thread_t *p_intf = (intf_thread_t *)p_this; intf_thread_t *p_intf = (intf_thread_t *)p_this;
if( p_intf->p_sys->p_input ) if( p_intf->p_sys->p_input )
...@@ -132,7 +132,7 @@ static void Run( intf_thread_t *p_intf ) ...@@ -132,7 +132,7 @@ static void Run( intf_thread_t *p_intf )
#ifdef HAVE_GPE_INIT_H #ifdef HAVE_GPE_INIT_H
/* Initialize GPE interface */ /* Initialize GPE interface */
if (gpe_application_init(&i_args, &pp_args) == FALSE) if (gpe_application_init(&i_args, &pp_args) == FALSE)
exit (1); exit (1);
#else #else
/* Initialize Gtk+ */ /* Initialize Gtk+ */
gtk_set_locale (); gtk_set_locale ();
...@@ -194,19 +194,40 @@ static void Run( intf_thread_t *p_intf ) ...@@ -194,19 +194,40 @@ static void Run( intf_thread_t *p_intf )
/***************************************************************************** /*****************************************************************************
* GtkAutoplayFile: Autoplay file depending on configuration settings * GtkAutoplayFile: Autoplay file depending on configuration settings
*****************************************************************************
* FIXME: we should get the intf as parameter
*****************************************************************************/ *****************************************************************************/
void GtkAutoPlayFile( void ) void GtkAutoPlayFile( vlc_object_t *p_this )
{ {
GtkWidget *cbautoplay; GtkWidget *cbautoplay;
intf_thread_t **pp_intf;
vlc_list_t *p_list = vlc_list_find( p_this, VLC_OBJECT_INTF,
FIND_ANYWHERE );
cbautoplay = GTK_WIDGET( gtk_object_get_data( for( pp_intf = (intf_thread_t **)p_list->pp_objects ;
GTK_OBJECT( p_main->p_intf->p_sys->p_window ), "cbautoplay" ) ); *pp_intf ;
if( !config_GetIntVariable( "familiar-autoplayfile" ) ) pp_intf++ )
p_main->p_intf->p_sys->b_autoplayfile=0; {
else if( strcmp( MODULE_STRING, (*pp_intf)->p_module->psz_object_name ) )
p_main->p_intf->p_sys->b_autoplayfile=1; {
continue;
}
cbautoplay = GTK_WIDGET( gtk_object_get_data(
GTK_OBJECT( (*pp_intf)->p_sys->p_window ),
"cbautoplay" ) );
if( !config_GetInt( p_this, "familiar-autoplayfile" ) )
{
(*pp_intf)->p_sys->b_autoplayfile = VLC_FALSE;
}
else
{
(*pp_intf)->p_sys->b_autoplayfile = VLC_TRUE;
}
gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( cbautoplay ),
(*pp_intf)->p_sys->b_autoplayfile );
}
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(cbautoplay),p_main->p_intf->p_sys->b_autoplayfile); vlc_list_release( p_list );
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment