| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When QWidget::activateWindow() is called we check if the window was already
mapped and just do not do anything if it wasn't. We used to try to active it
by giving it keyboard focus, but that always fails because it isn't allowed to
call XSetInputFocus on invisible windows, and the error message was swalled by
Qt in the error handler. So now we just don't bother even trying if we know the
call will fail.
Task-number: QTBUG-4042
Reviewed-by: Benjamin Poulain
Reviewed-by: Bradley T. Hughes
|
|
|
|
|
|
|
|
| |
If a window has X11BypassWindowManager hint, we shouldn't bother asking the
windowmanager to active it using the _NET_ACTIVE_WINDOW protocol and just go
though Xorg directly.
Reviewed-by: Bradley T. Hughes
|
|
|
|
| |
This reverts commit 555175f9d9e5633b8fcfd6e6f6a11c84faa9946e.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 6390248b11b3596d8c946c232e9b0d832dc42941,
which caused the following regressions:
TESTFUNCTION_FAIL qshortcut::ambiguousItems (pulse_linux-g++)
TESTFUNCTION_FAIL qshortcut::ambiguousRotation (pulse_linux-g++)
TESTFUNCTION_FAIL qshortcut::disabledItems (pulse_linux-g++)
TESTFUNCTION_FAIL qshortcut::keypressConsumption (pulse_linux-g++)
TESTFUNCTION_FAIL qshortcut::number (pulse_linux-g++)
TESTFUNCTION_FAIL qshortcut::text (pulse_linux-g++)
TESTFUNCTION_FAIL qshortcut::unicodeCompare (pulse_linux-g++)
|
|
|
|
|
|
|
|
| |
This should prevent window managers from ever sending a WM_TAKE_FOCUS
message to those windows (useful for IM windows like virtual keyboards,
notification banners, etc.)
Reviewed-by: bhughes
|
|
|
|
|
|
|
| |
Use the _NET_ACTIVE_WINDOW atom if the current window manager supports it -
otherwise fall back to XSetInputFocus()
Reviewed-by: bhughes
|
|
|
|
|
|
|
|
|
| |
On X11 when creating a widget that has a parent, there is no reason to create a
native window handle right away since we don't know yet if the window is going
to be ever shown.
Task-number: QTBUG-9215
Reviewed-by: Bradley T. Hughes
|
|
|
|
|
|
|
|
|
|
|
|
| |
We shouldn't really care about ReparentNotify when waiting for a window to be
"managed" by the window manager.
We only need to wait until the window is Mapped and Exposed for the first time,
then we (most likely) can safely assume that the window manager has finished
managing the window.
Task-number: QTBUG-9097
Reviewed-by: Bradley T. Hughes
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
When we wait for the window to be shown by looking for ReparentNotify,
MapNotify, etc events in the event queue, we should check if those events come
for the right window, otherwise we might exit too early if there are event for
an other window in the queue.
Reviewed-by: Leonardo Sobral Cunha
|
|
|
|
|
|
|
|
| |
The function is supposed to wait until the window has been managed by the
window manager on X11 - i.e. it has been reparented to a frame, mapped and
received at least one Expose event after that.
Reviewed-by: Olivier Goffart
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
| |
When accessing the global input context from the QWidget destructor access it
directly instead of calling a helper function. Don't even bother to create an
input context if QApplication is being destroyed (just in case if the user is
calling the QApplication::inputContext manually from the destructor).
Task-number: QTBUG-7105
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All the examples/demos that used a QGraphicsView with a QGLWidget
as a viewport, that had multisampling enabled, was broken after
7b61fbf03e170a7da37d5f57ed4053aae719ec7f. This is because the reparented
QGLWidget will be forced to use the parent widget's visual, which in this
case does not contain any multisample buffers. The QX11Info structure
for QGLWidget is put together based on the QGLFormat that is passed
into the QGLWidget constructor and will in most cases always be
different from the parent widget visual.
Task-number: QTBUG-5998 and QTBUG-6003
Reviewed-by: Eskil
|
|
|
|
|
|
|
|
|
|
| |
QPaintDevice and QImage used the functions numColors(), setNumColors(),
and numBytes(). However, this is not consistent with the rest of the Qt
API which uses *Count() and set*Count().
Removed all usage of these functions inside Qt and test-cases.
Reviewed-by: Andreas Aardal Hanssen
|
|
|
|
|
|
|
|
|
| |
When setting the TranslucentBackground flag after the window has been
created, we should check whether the widget has a native window id, and
not the WA_NativeWindow attribute which doesn't seem to be set by
default for top-level widgets.
Reviewed-by: Trond
|
|
|
|
|
|
|
| |
The native child widgets need to inherit the parent's visual in order to
have a translucent background as well.
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to waiting until the window manager maps and reparents the
window, also wait until we get initial expose event.
The window manager will most probably send us several ConfigureNotify
events, so wait until all of them are handled in addition to the Expose
event (as one might rely on another).
Also, we shouldn't wait for the ReparentNotify event if the window has
X11BypassWindowManagerHint.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
| |
Make sure we recieve both ReparentNotify and MapNotify events.
Also change the timeout to 2 seconds to cope with slow machines
Reviewed-by: Denis
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/boxes/glshaders.cpp
demos/boxes/vector.h
demos/embedded/fluidlauncher/pictureflow.cpp
demos/embedded/fluidlauncher/pictureflow.h
doc/src/desktop-integration.qdoc
doc/src/distributingqt.qdoc
doc/src/examples-overview.qdoc
doc/src/examples.qdoc
doc/src/frameworks-technologies/dbus-adaptors.qdoc
doc/src/geometry.qdoc
doc/src/groups.qdoc
doc/src/objecttrees.qdoc
doc/src/platform-notes.qdoc
doc/src/plugins-howto.qdoc
doc/src/qt3support.qdoc
doc/src/qtdbus.qdoc
doc/src/qtdesigner.qdoc
doc/src/qtgui.qdoc
doc/src/qtmain.qdoc
doc/src/qtopengl.qdoc
doc/src/qtsvg.qdoc
doc/src/qtuiloader.qdoc
doc/src/qundo.qdoc
doc/src/richtext.qdoc
doc/src/topics.qdoc
src/corelib/tools/qdumper.cpp
src/gui/embedded/qkbdpc101_qws.cpp
src/gui/embedded/qkbdsl5000_qws.cpp
src/gui/embedded/qkbdusb_qws.cpp
src/gui/embedded/qkbdvr41xx_qws.cpp
src/gui/embedded/qkbdyopy_qws.cpp
src/gui/embedded/qmousebus_qws.cpp
src/gui/embedded/qmousevr41xx_qws.cpp
src/gui/embedded/qmouseyopy_qws.cpp
src/gui/painting/qpaintengine_d3d.cpp
src/gui/painting/qwindowsurface_d3d.cpp
src/opengl/gl2paintengineex/glgc_shader_source.h
src/opengl/gl2paintengineex/qglpexshadermanager.cpp
src/opengl/gl2paintengineex/qglpexshadermanager_p.h
src/opengl/gl2paintengineex/qglshader.cpp
src/opengl/gl2paintengineex/qglshader_p.h
src/opengl/util/fragmentprograms_p.h
src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp
src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
src/script/parser/qscript.g
src/script/qscriptarray_p.h
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.cpp
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmacore.cpp
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptmember_p.h
src/script/qscriptobject_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptxmlgenerator.cpp
src/script/qscriptxmlgenerator_p.h
tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
tools/linguist/shared/cpp.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/graphicsview/qgraphicsitem.cpp
src/gui/kernel/qwidget.cpp
src/gui/kernel/qwidget_p.h
|
| | | |
|
| | |
| | |
| | |
| | | |
Hopefully this fixes the remaining issues.
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
examples/opengl/samplebuffers/glwidget.cpp
src/corelib/io/qfsfileengine_unix.cpp
src/corelib/kernel/qobject.cpp
src/corelib/tools/qsharedpointer.cpp
src/gui/gui.pro
tests/auto/qhttp/tst_qhttp.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The default widget size is normally calculated from the root window size, but when running on an X server with Xinerama enabled, the root window spans all screens, making the widget far to large.
Use the default screen's size instead to give the widget a size that
should fit on a single screen.
|
|/ /
| |
| |
| |
| | |
Contains some smaller fixes and renaming of macros. Looks big,
but isn't scary at all ;)
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| | |
Done with Thorbjørn Lindeijer
Task-number: 220550
Reviewed-by: Thorbjørn Lindeijer
Reviewed-by: mae
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
Conflicts:
src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
tests/auto/selftests/expected_skip.txt
tests/auto/selftests/tst_selftests.cpp
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
When QWidget::scroll() is called on a widget with WA_PaintOnScreen,
scroll the dirty region.
Task-number: 254742
Reviewed-by: bnilsen
|
| |
| |
| |
| |
| |
| |
| | |
We used to leave _NET_WM_ICON set forever, and removing an
IconPixmapHint from WMHints didn't work properly.
Reviewed-by: Bradley T. Hughes
|
| |
| |
| |
| |
| |
| |
| | |
This patch enables QGLWidget's to have an ARGB visual on X11, alowing GL
rendering on semi-transparent windows.
Reviewed-By: Trond
|
| |
| |
| |
| |
| |
| |
| |
| | |
I actually found a few functions that were not even implemented, only
declared. Those should obviously not be in the header file. I've also
removed a few functions not in use / not belonging to QWidgetPrivate.
Reviewed-by: Olivier
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch cleans up several things, like bit fields that are
interleaved with with other variables, resulting in bits not being
packed properly.
Example: "uint a : 8; int c; uint b: 8;" -> "uint a : 8; uint b : 8; int c;"
In that case we'll use 12 bytes instead of 8 bytes.
I've also changed the order we declare certain variables to avoid
unnecessary gaps/padding on 64-bit architectures.
Example: "char *a; int c; char *b;" -> "char *a; char *b; int c;"
Pointers are 64-bit aligned, so padding appears between 'c' and 'b',
resulting in a total use of 24 bytes instead of 20 bytes.
...and since I anyways was moving the code around, I took the
opportunity to add some overall structure by first declaring
cross-platform functions/variables followed by platform specific
functions/variables. ...and it was kinda scary to actually be
able to see all the QStrings, pointers and whatnot we put into
QWidgetPrivate. I'm sure we can remove lots of stuff, but I'll do
that in a separate commit.
Quick numbers (X11/64 bit):
sizeof(QWidgetPrivate) == before: 472, after: 456
sizeof(QTLWExtra) == before: 112, after: 104
sizeof(QWExtra) == before: 152, after: 144
Acked-by: Olivier
|
|
|
|
|
|
|
|
|
| |
When building docs for the mac, qdoc comments for functions defined
in the .h file were not found in any of the .cpp files in the mac
package because they were in the x11 or windows .cpp file. So I
moved them to a .cpp file that is in all the packages.
Task-number: 252496 252492
|
|
|
|
|
| |
Task-number: 250326
Reviewed-by: Brad
|
|
|
|
|
|
|
|
| |
This fixes KRunner on XMonad. The Qt::Dialog flag of the krunner dialog
was lost when the Qt::WA_TranslucentBackground was set, leading to
incorrect behaviour in some window manager (such as xmonad)
Reviewed-by: Samuel
|
|
|
|
| |
Reviewed-by: TrustMe
|
|
|