Changeset View
Changeset View
Standalone View
Standalone View
src/platformtheme/qdbusmenubar.cpp
Show First 20 Lines • Show All 116 Lines • ▼ Show 20 Line(s) | |||||
117 | void QDBusMenuBar::syncMenu(QPlatformMenu *menu) | 117 | void QDBusMenuBar::syncMenu(QPlatformMenu *menu) | ||
118 | { | 118 | { | ||
119 | QDBusPlatformMenuItem *menuItem = menuItemForMenu(menu); | 119 | QDBusPlatformMenuItem *menuItem = menuItemForMenu(menu); | ||
120 | updateMenuItem(menuItem, menu); | 120 | updateMenuItem(menuItem, menu); | ||
121 | } | 121 | } | ||
122 | 122 | | |||
123 | void QDBusMenuBar::handleReparent(QWindow *newParentWindow) | 123 | void QDBusMenuBar::handleReparent(QWindow *newParentWindow) | ||
124 | { | 124 | { | ||
125 | if (newParentWindow && newParentWindow != m_window) { | 125 | if (newParentWindow == m_window) { | ||
126 | return; | ||||
127 | } | ||||
128 | | ||||
126 | QWindow *oldWindow = m_window; | 129 | QWindow *oldWindow = m_window; | ||
127 | 130 | | |||
128 | unregisterMenuBar(); | 131 | unregisterMenuBar(); | ||
129 | m_window = newParentWindow; | 132 | m_window = newParentWindow; | ||
133 | | ||||
134 | if (newParentWindow) { | ||||
130 | registerMenuBar(); | 135 | registerMenuBar(); | ||
136 | } | ||||
131 | 137 | | |||
132 | emit windowChanged(newParentWindow, oldWindow); | 138 | emit windowChanged(newParentWindow, oldWindow); | ||
133 | } | 139 | } | ||
134 | } | | |||
135 | 140 | | |||
136 | QPlatformMenu *QDBusMenuBar::menuForTag(quintptr tag) const | 141 | QPlatformMenu *QDBusMenuBar::menuForTag(quintptr tag) const | ||
137 | { | 142 | { | ||
138 | QDBusPlatformMenuItem *menuItem = m_menuItems.value(tag); | 143 | QDBusPlatformMenuItem *menuItem = m_menuItems.value(tag); | ||
139 | if (menuItem) | 144 | if (menuItem) | ||
140 | return const_cast<QPlatformMenu *>(menuItem->menu()); | 145 | return const_cast<QPlatformMenu *>(menuItem->menu()); | ||
141 | return nullptr; | 146 | return nullptr; | ||
142 | } | 147 | } | ||
▲ Show 20 Lines • Show All 50 Lines • Show Last 20 Lines |