Commit 06e609ea authored by Jean-Philippe André's avatar Jean-Philippe André

Extensions: fix Qt freeze when reloading scripts

Description of the bug:

 This freeze happened only on Windows (tested on XP & Wine), but not on
 Linux. If I only moved up the "killInstance()" line, then the freeze
 would happen only on Linux but not on Windows.
 In these cases the QDialog's destructor never returned.
parent 79fc0522
......@@ -207,11 +207,6 @@ ExtensionDialog::ExtensionDialog( intf_thread_t *_p_intf,
ExtensionDialog::~ExtensionDialog()
{
msg_Dbg( p_intf, "Deleting extension dialog '%s'", qtu(windowTitle()) );
/* Delete all widgets */
extension_widget_t *p_widget;
p_dialog->b_kill = true;
p_dialog->p_sys_intf = NULL;
vlc_cond_signal( &p_dialog->cond );
}
QWidget* ExtensionDialog::CreateWidget( extension_widget_t *p_widget )
......
......@@ -118,11 +118,10 @@ void ExtensionsManager::unloadExtensions()
if( !p_extensions_manager )
return;
b_unloading = true;
ExtensionsDialogProvider::killInstance();
module_unneed( p_extensions_manager, p_extensions_manager->p_module );
vlc_object_release( p_extensions_manager );
p_extensions_manager = NULL;
emit extensionsUpdated();
ExtensionsDialogProvider::killInstance();
}
void ExtensionsManager::reloadExtensions()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment