Mercurial > octave
changeset 25086:36f17567ffa1 stable
Prevent GUI drag-and-drop relocation freeze for some Qt versions (bug #53392).
* octave-dock-widget.cc (octave_dock_widget::make_widget): Keep the
QDockWidget as a window when reparenting before adding back to the
QMainWindow, then use setFloating (false) after added.
author | Daniel J Sebald <daniel.sebald@ieee.org> |
---|---|
date | Fri, 23 Mar 2018 10:52:50 -0500 |
parents | 1e0d3ad041de |
children | 8f1ab6db6709 |
files | libgui/src/octave-dock-widget.cc |
diffstat | 1 files changed, 4 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/octave-dock-widget.cc Mon Apr 02 19:15:01 2018 +0200 +++ b/libgui/src/octave-dock-widget.cc Fri Mar 23 10:52:50 2018 -0500 @@ -203,9 +203,13 @@ if (dock) { settings->setValue ("MainWindow/windowState", m_parent->saveState ()); + // Stay window, otherwise will bounce back to window by default because + // there is no layout information for this widget in the saved settings. + setParent (m_parent, Qt::Window); m_parent->addDockWidget (Qt::TopDockWidgetArea, this); // recover old window states, hide and re-show new added widget m_parent->restoreState (settings->value ("MainWindow/windowState").toByteArray ()); + setFloating (false); focus (); QApplication::setActiveWindow (this); m_title_widget->setToolTip ("");