@@ -79,6 +79,7 @@ struct DockWidgetTabPrivate
7979 QSpacerItem* IconTextSpacer;
8080 QPoint TabDragStartPosition;
8181 QSize IconSize;
82+ bool MousePressed = false ;
8283
8384 /* *
8485 * Private data constructor
@@ -372,10 +373,12 @@ void CDockWidgetTab::mousePressEvent(QMouseEvent* ev)
372373 if (ev->button () == Qt::LeftButton)
373374 {
374375 ev->accept ();
376+ d->MousePressed = true ;
375377 d->saveDragStartMousePosition (internal::globalPositionOf (ev));
376378 d->DragState = DraggingMousePressed;
377379 if (CDockManager::testConfigFlag (CDockManager::FocusHighlighting))
378380 {
381+ d->focusController ()->setDockWidgetTabPressed (true );
379382 d->focusController ()->setDockWidgetTabFocused (this );
380383 }
381384 Q_EMIT clicked ();
@@ -391,6 +394,7 @@ void CDockWidgetTab::mouseReleaseEvent(QMouseEvent* ev)
391394{
392395 if (ev->button () == Qt::LeftButton)
393396 {
397+ d->MousePressed = false ;
394398 auto CurrentDragState = d->DragState ;
395399 d->GlobalDragStartMousePosition = QPoint ();
396400 d->DragStartMousePosition = QPoint ();
@@ -412,7 +416,9 @@ void CDockWidgetTab::mouseReleaseEvent(QMouseEvent* ev)
412416 d->FloatingWidget ->finishDragging ();
413417 break ;
414418
415- default :; // do nothing
419+ default :
420+ d->focusController ()->setDockWidgetTabPressed (false );
421+ break ; // do nothing
416422 }
417423 }
418424 else if (ev->button () == Qt::MiddleButton)
@@ -802,6 +808,7 @@ void CDockWidgetTab::setIconSize(const QSize& Size)
802808 d->IconSize = Size;
803809 d->updateIcon ();
804810}
811+
805812} // namespace ads
806813// ---------------------------------------------------------------------------
807814// EOF DockWidgetTab.cpp
0 commit comments