| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
They don't need double buffer combination since they have no
client-side children, and creating pixmaps for them is risky
since they could disappear at any time.
May fix bug 598476 and 603652.
|
|
|
|
| |
This fixes problems in clutter-gtk. See bug 603619.
|
|
|
|
| |
(cherry picked from commit 22d1d0d5077a518c1e1a3622678cb7d1e6ab8e87)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It may happen when turning a client side window into a native window
that the window, or some of its children with the same native parent
have extension events enabled, and thus have an input window enabled
for the native parent which needs to change as the window is made
native.
We fix this by temporarily disabling extension events on all the affected
windows while we create the native window, and then reenable them afterwards.
This fixes: https://bugzilla.redhat.com/show_bug.cgi?id=544624
(cherry picked from commit 159214173d2ec626dd0390a5fd0e5beaa6404f6e)
|
|
|
|
|
|
|
|
|
|
|
|
| |
All kinds of lines (lines, segments, arcs, etc) need to take into
account the line properties (width, miter limit, joins, caps, etc)
to get proper damage extents.
This is not really possible to do, but we can make it likely to work
with some ad-hoc estimates.
Fixes bug 603904.
(cherry picked from commit 98a9c5c69a796b48d3797a35a301dabe1dcb2430)
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fix in 786b589d95077b465dcc2311ff2489ee7bb9a49f for the
"Cannot click buttons more than once without moving the mouse cursor"
did not correctly handle setups with multiple screens in one display.
We need to handle the case where the first XQueryPointer returns
a different root window than the default one.
This fixes bug 597386 (agaion)
(cherry picked from commit 48fc0f36c28fb0317a3433bafbe7bf8ae8a01171)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't really need to filter these out, it was just a leftover
safety check to not override the GDK_POINTER_MOTION_MASK.
Furthermore when we changed behaviour to not always select for native
pointer motion it is actually wrong. We'll still get normal motion
events for the toplevel which we will emulate as button motion on the
child, but the button motion mask will not be inherited by implicit
grabs which makes us not get any motion events during grabs.
This fixes bug 601473
(cherry picked from commit b509f28559dba03684ecc88acac498b6f27d2ebf)
|
|
|
|
|
| |
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=591438
(cherry picked from commit ee2c797e700ec933fafce48b405dda53fdb228da)
|
|
|
|
|
| |
By moving the g_return_if_fail() checks into individual monitor functions.
See bug 561130.
|
|
|
|
|
| |
There's no reason to do our expensive round-trips for an override-redirect
window; just use local information. See bug 581145. Patch by Owen Taylor.
|
|
|
|
|
| |
We were not paying attention to consumed modifiers when adding
virtual modifiers. This fixes RH bug 537567.
|
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=590800
(cherry picked from commit 04d7d8105629532875d2bf1c3a454184fd6d1b40)
|
| |
|
|
|
|
|
|
| |
The previous implementation was modifying the passed in window ("private") rather than deriving information from it. Also the type hints are now forwarded like in the X11 implementation instead of ignored.
The effect of the unfinished client-side-window porting was e.g. a crash with Dia's navigation window which happened to create a window with an apparent depth of zero.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we just invalidate some area from the app we don't need to clear
windows with no exposure mask, because that wouldn't have happened pre-csw
anyway. Additionally we can avoid such clearing for native windows in cases
where the xserver already did the clearing like on exposes or when resizing
toplevels.
This means we don't fully redraw a GtkSocket when it resizes, thus
avoiding flicker in gnome-mplayer as reported in this bug:
https://bugzilla.gnome.org/show_bug.cgi?id=598050
(cherry picked from commit 9e51c10edc50333997a28c221b200cc6f83bdcef)
|
|
|
|
| |
(cherry picked from commit 9ae0d9a44f785564a9b100a58b34a9dcabf61724)
|
|
|
|
|
|
|
|
| |
Backends that support native window background setting (and that clears
new window areas to this color/pixmap) should set this to true.
Currently only X11 supports this.
(cherry picked from commit 39993f147f05a3711b415635c592200f28db5dcd)
|
|
|
|
|
|
|
| |
When moving or scrolling a window with native children, there is no
need to expose the areas that are copied by the windowing system
as part of moving/resizing the native windows anyway.
(cherry picked from commit 4cd5c9894268966d4d8a2586a7d5a7c5c440ee33)
|
|
|
|
|
| |
Exposing when you hide a hidden window is just a waste of time.
(cherry picked from commit a299797883440e7671956d73761885ec102840b0)
|
|
|
|
|
|
| |
Clearing will directly modify the contents of the window, so we need
to flush any outstanding moves or double-buffering.
(cherry picked from commit 8c1ea38d84468a9098e88573ba714cbbe3c80ed5)
|
|
|
|
| |
Fixes bug #599321.
|
|
|
|
|
|
|
|
|
|
|
| |
The root window width and height have already been correctly
initialised in _gdk_root_window_size_init() to cover all monitors, so
don't incorrectly re-initialise using GetSystemMetrics(SM_C[XY]SCREEN)
which only gives the size of the primary monitor anyway. (See MSDN.)
This fixes at least gdk_screen_get_{width,height}() which indirectly
affects at least the positioning of combo box pop-up menus on multiple
monitors.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
We need to do a final XQueryWindow to get the coordinates inside the
windows rather than in the parent window.
This fixes bug #597386, "Cannot click buttons more than once...", which
failed due to the grab tracking stuff getting the wrong coordinates as
per the above.
|
|
|
|
| |
Valgrind reported a leak of regions from gdk_window_process_updates_internal.
|
|
|
|
|
|
| |
to 2.18.1
Fix compilation of the DirectFB backend after internal API changes of GDK.
|
|
|
|
|
|
|
|
|
|
|
| |
Thanks gcc :
gdkwindow-x11.c:1731: warning: passing argument 3 of
'XReconfigureWMWindow' makes integer from pointer without a cast
/usr/include/X11/Xlib.h:1871: note: expected 'int' but argument is of
type 'struct GdkScreen *'
Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
|
|
|
|
|
| |
Patch from Paul Davis. This gets the basics of drag and drop properly
working on Mac OS X.
|
| |
|
|
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=588649
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
|
|
|
|
|
|
| |
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=588649
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=588649
|
|
|
|
|
|
| |
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=588649
|
|
|
|
|
|
| |
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=588649
|
|
|
|
|
|
| |
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=588649
|
|
|
|
|
|
| |
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=588649
|
|
|
|
|
|
| |
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=588649
|
|
|
|
| |
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
|
|
|
|
|
|
|
| |
These event types propagate up the hierarchy anyway, so this means
we avoid setting it unnecessarily. This is especially important
for button press event, since only one client can select for this
on each window, causing X errors if two clients do it.
|
|
|
|
|
|
|
|
|
|
| |
This detection code is not 100% reliable, but it should fare much better
than the current code, which just compares the device name to a fixed
set of strings. Many applications depend on erasers being recognized
reliably, so we start by checking for a device name containing the
substring 'eraser'.
Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
|
|
|
|
|
| |
Don't track sent button events as causing or removing
passive grabs.
|
|
|
|
| |
We don't use this anymore, so just remove.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has two advantages:
1) In many backends, this is faster as we can terminate the window
hierarchy traversal earlier
2) When used in gdkdisplay.c::get_current_toplevel() to get the
current toplevel that has the pointer we now correctly return
a toplevel with the pointer in it where the pointer is inside
some foreign subwindow of a toplevel window.
The second advantage fixes some bugs in client side event generation
when the pointer is inside such a foreign child window.
|
|
|
|
| |
Use a boxed paramspec with GDK_TYPE_CURSOR instead of a pointer paramspec.
|
| |
|