diff --git a/src/ui/object_interface.cpp b/src/ui/object_interface.cpp index 1310015f..44140059 100644 --- a/src/ui/object_interface.cpp +++ b/src/ui/object_interface.cpp @@ -1622,7 +1622,7 @@ void CObjectInterface::UpdateInterface() bool bProgEnable = !m_programmable->IsProgram() && m_main->CanPlayerInteract(); bool scriptSelected = m_selScript >= 0 && m_selScript < m_programStorage->GetProgramCount(); - EnableInterface(pw, EVENT_OBJECT_PROGEDIT, m_main->CanPlayerInteract() && scriptSelected && !m_programmable->IsTraceRecord()); + EnableInterface(pw, EVENT_OBJECT_PROGEDIT, scriptSelected && !m_programmable->IsTraceRecord()); EnableInterface(pw, EVENT_OBJECT_PROGLIST, bProgEnable && !m_programmable->IsTraceRecord()); EnableInterface(pw, EVENT_OBJECT_PROGADD, bProgEnable); EnableInterface(pw, EVENT_OBJECT_PROGREMOVE, bProgEnable && scriptSelected && !m_programStorage->GetProgram(m_selScript)->readOnly); diff --git a/src/ui/studio.cpp b/src/ui/studio.cpp index 483d89b7..22268ecb 100644 --- a/src/ui/studio.cpp +++ b/src/ui/studio.cpp @@ -1028,17 +1028,17 @@ void CStudio::UpdateButtons() button = static_cast< CButton* >(pw->SearchControl(EVENT_STUDIO_CLONE)); if ( button == nullptr ) return; - button->SetState(STATE_ENABLE, m_program->runnable && !m_bRunning); + button->SetState(STATE_ENABLE, m_main->CanPlayerInteract() && (m_program->runnable && !m_bRunning)); button = static_cast< CButton* >(pw->SearchControl(EVENT_STUDIO_COMPILE)); if ( button == nullptr ) return; - button->SetState(STATE_ENABLE, m_program->runnable && !m_bRunning); + button->SetState(STATE_ENABLE, m_main->CanPlayerInteract() && (m_program->runnable && !m_bRunning)); button = static_cast< CButton* >(pw->SearchControl(EVENT_STUDIO_RUN)); if ( button == nullptr ) return; button->SetIcon(m_bRunning?8:21); // stop/run - button->SetState(STATE_ENABLE, m_program->runnable || m_bRunning); + button->SetState(STATE_ENABLE, m_main->CanPlayerInteract() && (m_program->runnable || m_bRunning)); button = static_cast< CButton* >(pw->SearchControl(EVENT_STUDIO_REALTIME)); if ( button == nullptr ) return;