diff --git a/app/ModulesHandle.cpp b/app/ModulesHandle.cpp index f205e94..64bc5dd 100644 --- a/app/ModulesHandle.cpp +++ b/app/ModulesHandle.cpp @@ -262,15 +262,18 @@ Void ModulesHandle::activateModule() QAction *pcAction = qobject_cast( sender() ); Qt::KeyboardModifiers keyModifiers = QApplication::keyboardModifiers(); Bool bTmpForceNewWindow = false; - if( keyModifiers & Qt::ControlModifier ) - { - bTmpForceNewWindow = true; - } + VideoSubWindow* pcVideoSubWindow = qobject_cast( m_pcMainWindowManager->activeSubWindow() ); if( !pcVideoSubWindow ) { return; } + + if( keyModifiers & Qt::ControlModifier || pcVideoSubWindow->checkCategory( VideoSubWindow::MODULE_SUBWINDOW ) ) + { + bTmpForceNewWindow = true; + } + QString ModuleIfName = pcAction->data().toString(); PlaYUVerModuleIf* pcCurrModuleIf = PlaYUVerModuleFactory::Get()->CreateModule( ModuleIfName.toLocal8Bit().constData() ); PlaYUVerAppModuleIf* pcCurrAppModuleIf = new PlaYUVerAppModuleIf( this, pcAction, pcCurrModuleIf );