X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fremotecontrol.C;h=457d331395e8bf91d7462518851e211d78ea77fa;hb=b2d226c1f41e84bbb3af93ebc0aa89f98ec0fd52;hp=bb61eb277011e5c2508aef06cb0d680917bb84eb;hpb=0df48ad2d876409c5beeae2e21933a728ea76c33;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/remotecontrol.C b/cinelerra-5.1/cinelerra/remotecontrol.C index bb61eb27..457d3313 100644 --- a/cinelerra-5.1/cinelerra/remotecontrol.C +++ b/cinelerra-5.1/cinelerra/remotecontrol.C @@ -53,11 +53,13 @@ RemoteControl::~RemoteControl() int RemoteControl::activate(RemoteHandler *handler) { int result = 0; - active_lock->lock("RemoteControl::activate"); - if( !is_active() ) { - if( !handler ) handler = !mwindow_gui->record->running() ? + deactivate(); + if( !handler ) + handler = !mwindow_gui->record->running() ? (RemoteHandler *)mwindow_gui->cwindow_remote_handler : (RemoteHandler *)mwindow_gui->record_remote_handler ; + active_lock->lock("RemoteControl::activate"); + if( handler ) { gui->lock_window("RemoteControl::activate"); gui->set_active(handler); gui->set_color(handler->color); @@ -72,19 +74,21 @@ int RemoteControl::activate(RemoteHandler *handler) int RemoteControl::deactivate() { int result = 0; - active_lock->lock("RemoteControl::deactivate"); if( is_active() ) { - gui->set_inactive(); - result = 1; + active_lock->lock("RemoteControl::deactivate"); + if( is_active() ) { + gui->set_inactive(); + result = 1; + } + active_lock->unlock(); } - active_lock->unlock(); return result; } int RemoteControl::remote_key(int key) { if( !is_active() ) return 0; - return handler->remote_process_key(this, key); + return handler->remote_key(key); } void RemoteControl::set_color(int color) @@ -172,8 +176,7 @@ int RemoteGUI::keypress_event() return result; } -RemoteHandler:: -RemoteHandler(RemoteGUI *gui, int color) +RemoteHandler::RemoteHandler(RemoteGUI *gui, int color) { this->gui = gui; this->color = color; @@ -183,4 +186,14 @@ RemoteHandler::~RemoteHandler() { } +int RemoteHandler::remote_key(int key) +{ + gui->set_inactive(); + return -1; +} + +int RemoteHandler::process_key(int key) +{ + return -1; +}