Skip to content

Commit fb58c43

Browse files
authored
Fix ODR violations when using CMake unity builds. (#609)
1 parent 6bf593e commit fb58c43

File tree

5 files changed

+10
-12
lines changed

5 files changed

+10
-12
lines changed

src/AutoHideTab.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444

4545
namespace ads
4646
{
47-
static const char* const LocationProperty = "Location";
4847

4948
/**
5049
* Private data class of CDockWidgetTab class (pimpl)
@@ -102,7 +101,7 @@ struct AutoHideTabPrivate
102101
QMenu* Menu)
103102
{
104103
auto Action = Menu->addAction(Title);
105-
Action->setProperty("Location", Location);
104+
Action->setProperty(internal::LocationProperty, Location);
106105
QObject::connect(Action, &QAction::triggered, _this, &CAutoHideTab::onAutoHideToActionClicked);
107106
Action->setEnabled(Location != _this->sideBarLocation());
108107
return Action;
@@ -419,7 +418,7 @@ void CAutoHideTab::unpinDockWidget()
419418
//===========================================================================
420419
void CAutoHideTab::onAutoHideToActionClicked()
421420
{
422-
int Location = sender()->property(LocationProperty).toInt();
421+
int Location = sender()->property(internal::LocationProperty).toInt();
423422
d->DockWidget->setAutoHide(true, (SideBarLocation)Location);
424423
}
425424

src/DockAreaTitleBar.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060

6161
namespace ads
6262
{
63-
static const char* const LocationProperty = "Location";
6463

6564
/**
6665
* Private data class of CDockAreaTitleBar class (pimpl)
@@ -159,7 +158,7 @@ struct DockAreaTitleBarPrivate
159158
QMenu* Menu)
160159
{
161160
auto Action = Menu->addAction(Title);
162-
Action->setProperty("Location", Location);
161+
Action->setProperty(internal::LocationProperty, Location);
163162
QObject::connect(Action, &QAction::triggered, _this, &CDockAreaTitleBar::onAutoHideToActionClicked);
164163
return Action;
165164
}
@@ -569,7 +568,7 @@ void CDockAreaTitleBar::onAutoHideDockAreaActionClicked()
569568
//============================================================================
570569
void CDockAreaTitleBar::onAutoHideToActionClicked()
571570
{
572-
int Location = sender()->property(LocationProperty).toInt();
571+
int Location = sender()->property(internal::LocationProperty).toInt();
573572
d->DockArea->toggleAutoHide((SideBarLocation)Location);
574573
}
575574

src/DockWidgetTab.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656

5757
namespace ads
5858
{
59-
static const char* const LocationProperty = "Location";
6059
using tTabLabel = CElidingLabel;
6160

6261
/**
@@ -225,7 +224,7 @@ struct DockWidgetTabPrivate
225224
QMenu* Menu)
226225
{
227226
auto Action = Menu->addAction(Title);
228-
Action->setProperty("Location", Location);
227+
Action->setProperty(internal::LocationProperty, Location);
229228
QObject::connect(Action, &QAction::triggered, _this, &CDockWidgetTab::onAutoHideToActionClicked);
230229
return Action;
231230
}
@@ -764,7 +763,7 @@ void CDockWidgetTab::autoHideDockWidget()
764763
//===========================================================================
765764
void CDockWidgetTab::onAutoHideToActionClicked()
766765
{
767-
int Location = sender()->property(LocationProperty).toInt();
766+
int Location = sender()->property(internal::LocationProperty).toInt();
768767
d->DockWidget->toggleAutoHide((SideBarLocation)Location);
769768
}
770769

src/FloatingDockContainer.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -357,15 +357,15 @@ static const char* windowsMessageString(int MessageId)
357357
#endif
358358

359359

360-
static unsigned int zOrderCounter = 0;
360+
static unsigned int zOrderCounterFloating = 0;
361361
/**
362362
* Private data class of CFloatingDockContainer class (pimpl)
363363
*/
364364
struct FloatingDockContainerPrivate
365365
{
366366
CFloatingDockContainer *_this;
367367
CDockContainerWidget *DockContainer;
368-
unsigned int zOrderIndex = ++zOrderCounter;
368+
unsigned int zOrderIndex = ++zOrderCounterFloating;
369369
QPointer<CDockManager> DockManager;
370370
eDragState DraggingState = DraggingInactive;
371371
QPoint DragStartMousePosition;
@@ -818,7 +818,7 @@ void CFloatingDockContainer::changeEvent(QEvent *event)
818818
if (isActiveWindow())
819819
{
820820
ADS_PRINT("FloatingWidget::changeEvent QEvent::ActivationChange ");
821-
d->zOrderIndex = ++zOrderCounter;
821+
d->zOrderIndex = ++zOrderCounterFloating;
822822

823823
#if defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
824824
if (d->DraggingState == DraggingFloatingWidget)

src/ads_globals.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ static const bool RestoreTesting = true;
167167
static const bool Restore = false;
168168
static const char* const ClosedProperty = "close";
169169
static const char* const DirtyProperty = "dirty";
170+
static const char* const LocationProperty = "Location";
170171
extern const int FloatingWidgetDragStartEvent;
171172
extern const int DockedWidgetDragStartEvent;
172173

0 commit comments

Comments
 (0)