Fixed CustomCloseHandling for floating widgets
This commit is contained in:
@@ -807,11 +807,16 @@ void CFloatingDockContainer::closeEvent(QCloseEvent *event)
|
||||
return;
|
||||
}
|
||||
|
||||
bool HasOpenDockWidgets = false;
|
||||
for (auto DockWidget : d->DockContainer->openedDockWidgets())
|
||||
{
|
||||
if (DockWidget->features().testFlag(CDockWidget::DockWidgetDeleteOnClose) || DockWidget->features().testFlag(CDockWidget::CustomCloseHandling))
|
||||
{
|
||||
DockWidget->closeDockWidgetInternal();
|
||||
bool Closed = DockWidget->closeDockWidgetInternal();
|
||||
if (!Closed)
|
||||
{
|
||||
HasOpenDockWidgets = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -819,6 +824,11 @@ void CFloatingDockContainer::closeEvent(QCloseEvent *event)
|
||||
}
|
||||
}
|
||||
|
||||
if (HasOpenDockWidgets)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// In Qt version after 5.9.2 there seems to be a bug that causes the
|
||||
// QWidget::event() function to not receive any NonClientArea mouse
|
||||
// events anymore after a close/show cycle. The bug is reported here:
|
||||
|
||||
Reference in New Issue
Block a user