mirror of
https://github.com/game-stop/veejay.git
synced 2025-12-17 13:20:01 +01:00
Reloaded :Fix Crash updating "entry_samplename" playing "plain video"
Fix * crash passing in plain video mode [/] and * crash starting in plain video mode Bonus, some comments...
This commit is contained in:
@@ -3939,6 +3939,13 @@ static void update_record_tab(int pm)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/******************************************************
|
||||||
|
* update_current_slot()
|
||||||
|
* update current slot specific widgets when updating
|
||||||
|
* the global information
|
||||||
|
*
|
||||||
|
* see update_globalinfo ()
|
||||||
|
******************************************************/
|
||||||
static void update_current_slot(int *history, int pm, int last_pm)
|
static void update_current_slot(int *history, int pm, int last_pm)
|
||||||
{
|
{
|
||||||
gint update = 0;
|
gint update = 0;
|
||||||
@@ -4008,18 +4015,10 @@ static void update_current_slot(int *history, int pm, int last_pm)
|
|||||||
info->uc.reload_hint[HINT_ENTRY] = 1;
|
info->uc.reload_hint[HINT_ENTRY] = 1;
|
||||||
info->uc.reload_hint[HINT_KF] = 1;
|
info->uc.reload_hint[HINT_KF] = 1;
|
||||||
|
|
||||||
|
|
||||||
sample_gui_slot_t* gui_slot = find_gui_slot_by_sample(info->selected_slot->sample_id, info->selected_slot->sample_type);
|
|
||||||
if (gui_slot != NULL)
|
|
||||||
put_text( "entry_samplename", gtk_label_get_text( GTK_LABEL(gui_slot->title)) );
|
|
||||||
else
|
|
||||||
put_text( "entry_samplename", "" );
|
|
||||||
|
|
||||||
set_pm_page_label( info->status_tokens[CURRENT_ID], pm );
|
set_pm_page_label( info->status_tokens[CURRENT_ID], pm );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Actions for stream */
|
/* Actions for stream mode*/
|
||||||
if( ( info->status_tokens[CURRENT_ID] != history[CURRENT_ID] || pm != last_pm ) && pm == MODE_STREAM )
|
if( ( info->status_tokens[CURRENT_ID] != history[CURRENT_ID] || pm != last_pm ) && pm == MODE_STREAM )
|
||||||
{
|
{
|
||||||
/* Is a solid color stream */
|
/* Is a solid color stream */
|
||||||
@@ -4045,9 +4044,9 @@ static void update_current_slot(int *history, int pm, int last_pm)
|
|||||||
update_label_str( "playhint", "Streaming");
|
update_label_str( "playhint", "Streaming");
|
||||||
|
|
||||||
info->uc.reload_hint[HINT_KF] = 1;
|
info->uc.reload_hint[HINT_KF] = 1;
|
||||||
}
|
}/* End actions for stream mode */
|
||||||
|
|
||||||
/* Actions for sample */
|
/* Actions for sample mode*/
|
||||||
if( pm == MODE_SAMPLE )
|
if( pm == MODE_SAMPLE )
|
||||||
{
|
{
|
||||||
int marker_go = 0;
|
int marker_go = 0;
|
||||||
@@ -4214,15 +4213,19 @@ static void update_current_slot(int *history, int pm, int last_pm)
|
|||||||
(gdouble) info->status_tokens[SAMPLE_END],
|
(gdouble) info->status_tokens[SAMPLE_END],
|
||||||
info->status_tokens[FRAME_NUM] );
|
info->status_tokens[FRAME_NUM] );
|
||||||
|
|
||||||
|
sample_gui_slot_t* gui_slot = find_gui_slot_by_sample(info->selected_slot->sample_id, info->selected_slot->sample_type);
|
||||||
|
if (gui_slot != NULL)
|
||||||
|
put_text( "entry_samplename", gtk_label_get_text( GTK_LABEL(gui_slot->title)) );
|
||||||
|
|
||||||
// update_spin_range( "spin_text_start", 0, n_frames ,0);
|
// update_spin_range( "spin_text_start", 0, n_frames ,0);
|
||||||
// update_spin_range( "spin_text_end", 0, n_frames,n_frames );
|
// update_spin_range( "spin_text_end", 0, n_frames,n_frames );
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}/* End of actions for sample mode */
|
||||||
|
|
||||||
if (update){
|
/* Block transitions widgets "value-changed" signal to prevent propagation */
|
||||||
|
if (pm == MODE_SAMPLE || pm == MODE_STREAM){
|
||||||
|
|
||||||
//block "value-changed" signal to prevent propagation
|
|
||||||
guint signal_id = g_signal_lookup("value-changed", GTK_TYPE_SPIN_BUTTON);
|
guint signal_id = g_signal_lookup("value-changed", GTK_TYPE_SPIN_BUTTON);
|
||||||
|
|
||||||
gpointer widget_stl = (gpointer)widget_cache[WIDGET_SAMPLE_TRANSITION_LENGTH];
|
gpointer widget_stl = (gpointer)widget_cache[WIDGET_SAMPLE_TRANSITION_LENGTH];
|
||||||
@@ -4276,7 +4279,7 @@ static void update_current_slot(int *history, int pm, int last_pm)
|
|||||||
if (handler_sts) {
|
if (handler_sts) {
|
||||||
g_signal_handler_unblock(widget_sts, handler_sts);
|
g_signal_handler_unblock(widget_sts, handler_sts);
|
||||||
}
|
}
|
||||||
}
|
}/* End block transitions wdg signals */
|
||||||
|
|
||||||
if( pm == MODE_SAMPLE || pm == MODE_STREAM ) {
|
if( pm == MODE_SAMPLE || pm == MODE_STREAM ) {
|
||||||
if( history[CHAIN_FADE] != info->status_tokens[CHAIN_FADE] )
|
if( history[CHAIN_FADE] != info->status_tokens[CHAIN_FADE] )
|
||||||
|
|||||||
Reference in New Issue
Block a user