memory leaks and tweaks, sams histeq icon
[goodguy/history.git] / cinelerra-5.1 / cinelerra / preferencesthread.C
index dbda188f782fa605f920ad5f76e8d7dd9b4dd7c0..39a198d435cbef017e33cc449e6f050266bc1f3e 100644 (file)
@@ -211,6 +211,21 @@ int PreferencesThread::apply_settings()
                (*this_aconfig != *aconfig) || (*this_vconfig != *vconfig) ||
                !preferences->brender_asset->equivalent(*mwindow->preferences->brender_asset, 0, 1, edl);
 
+       if( preferences->yuv_color_space != mwindow->preferences->yuv_color_space ||
+           preferences->yuv_color_range != mwindow->preferences->yuv_color_range ) {
+               YUV::yuv.yuv_set_colors(
+                       preferences->yuv_color_space,
+                       preferences->yuv_color_range);
+               rerender = 1;
+       }
+
+       if( preferences->highlight_inverse != mwindow->preferences->highlight_inverse ) {
+               mwindow->gui->lock_window("PreferencesThread::apply_settings 0");
+               mwindow->gui->hide_cursor(0);
+               mwindow->gui->unlock_window();
+               redraw_overlays = 1;
+       }
+
        if( strcmp(preferences->theme, mwindow->preferences->theme) != 0 )
                mwindow->restart_status = -1; // reload, need new bcresources
        if( strcmp(preferences->plugin_icons, mwindow->preferences->plugin_icons) != 0 )
@@ -292,6 +307,7 @@ int PreferencesThread::apply_settings()
        if(redraw_overlays)
        {
                mwindow->gui->lock_window("PreferencesThread::apply_settings 2");
+               mwindow->gui->show_cursor(0);
                mwindow->gui->draw_overlays(1);
                mwindow->gui->unlock_window();
        }
@@ -309,10 +325,7 @@ int PreferencesThread::apply_settings()
 //printf("PreferencesThread::apply_settings 1\n");
 // This doesn't stop and restart, only reloads the assets before
 // the next play command.
-               mwindow->cwindow->playback_engine->que->send_command(CURRENT_FRAME,
-                       CHANGE_ALL,
-                       mwindow->edl,
-                       1);
+               mwindow->cwindow->refresh_frame(CHANGE_ALL, mwindow->edl);
 //printf("PreferencesThread::apply_settings 10\n");
        }