forked from pool/libqt5-qtbase
f7a299974b
- Add patches from upstream: 0001-Fix-QWidget-setWindowRole.patch 0002-xcb-Fix-getting-the-window-types-from-the-property-o.patch 0003-Fix-centering-dialogs.patch 0004-xcb-Set-_NET_WM_WINDOW_TYPE-from-a-single-place.patch 0005-Restore-documented-behavior-for-the-WA_X11NetWmWindo.patch 0006-xcb-set-SM_CLIENT_ID-property.patch OBS-URL: https://build.opensuse.org/request/show/311483 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtbase?expand=0&rev=43
46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
From 2d0957d4b84ca3b07a62ce5c87e0f656dbe690de Mon Sep 17 00:00:00 2001
|
|
From: Alexander Volkov <a.volkov@rusbitech.ru>
|
|
Date: Tue, 10 Feb 2015 17:43:03 +0300
|
|
Subject: [PATCH 1/1] Fix centering dialogs
|
|
|
|
QDialog::setVisible() tries to adjusts the dialog position, but
|
|
it's not really possible if the dialog size is not defined yet.
|
|
Besides, if the dialog window is not created, QWidget::move()
|
|
will not really move it and will set WA_PendingMoveEvent flag.
|
|
And QWidget::setVisible() also will not change the position,
|
|
because we reset WA_Moved flag. Thus it may break adjusting
|
|
the position in QDialog::showEvent().
|
|
|
|
So adjust the position only in QDialog::showEvent().
|
|
|
|
Task-number: QTBUG-36185
|
|
Task-number: QTBUG-39259
|
|
Task-number: QTBUG-41844
|
|
Change-Id: I015a19f2e533f68178f4ee7519b17f5e9b5def7b
|
|
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
|
|
---
|
|
src/widgets/dialogs/qdialog.cpp | 7 -------
|
|
1 file changed, 7 deletions(-)
|
|
|
|
diff --git a/src/widgets/dialogs/qdialog.cpp b/src/widgets/dialogs/qdialog.cpp
|
|
index 6de3ff8c157c7e97fa334c07d5adbd4c64d948a7..22025378afb75339c8ae298720089e40ce5682b8 100644
|
|
--- a/src/widgets/dialogs/qdialog.cpp
|
|
+++ b/src/widgets/dialogs/qdialog.cpp
|
|
@@ -717,13 +717,6 @@ void QDialog::setVisible(bool visible)
|
|
if (testAttribute(Qt::WA_WState_ExplicitShowHide) && !testAttribute(Qt::WA_WState_Hidden))
|
|
return;
|
|
|
|
- if (!testAttribute(Qt::WA_Moved)) {
|
|
- Qt::WindowStates state = windowState();
|
|
- adjustPosition(parentWidget());
|
|
- setAttribute(Qt::WA_Moved, false); // not really an explicit position
|
|
- if (state != windowState())
|
|
- setWindowState(state);
|
|
- }
|
|
QWidget::setVisible(visible);
|
|
showExtension(d->doShowExtension);
|
|
QWidget *fw = window()->focusWidget();
|
|
--
|
|
2.4.2
|
|
|