Richard Hult
6d1a8853c4
Don't ignore all events when inactive, only clicks
2009-04-02 10:15:32 +02:00
Richard Hult
41d40786b1
Relax the check for ignoring events above the content view
2009-04-02 10:15:32 +02:00
Richard Hult
651335bc7e
Remove workaround for missing enter events on newly popped up windows
...
The reason for the issue was that we got entered/exited events for the
title bar buttons. Now we properly ignore those instead.
2009-04-02 10:15:32 +02:00
Richard Hult
aeeb54ddf0
Remove re-declared variable
2009-04-02 10:15:32 +02:00
Richard Hult
64195589dc
Remove unused code and fix some indentation
2009-04-02 10:15:32 +02:00
Richard Hult
6d01d16d48
Button press and release can share the same fill_button_event call
2009-04-02 10:15:32 +02:00
Richard Hult
77ee2feda2
Remove tracking of "current mouse window", this is handled in the common code now
2009-04-02 10:15:32 +02:00
Richard Hult
3c7a37d10d
Remove old cursor setting and make it work with client-side windows
2009-04-02 10:15:32 +02:00
Richard Hult
e6f2a809b2
Update for latest changes in the common code for grab tracking
2009-04-02 10:15:32 +02:00
Richard Hult
f455b478e7
Ignore all events if the app is not active
2009-04-02 10:15:31 +02:00
Richard Hult
2c043566fc
When breaking grabs on deactivation, the unset should be implicit
2009-04-02 10:15:31 +02:00
Richard Hult
30f83d8398
Use _gdk_display_unset_has_*_grab in break_all_grabs()
2009-04-02 10:15:31 +02:00
Richard Hult
65aef2099a
Use cooca to convert coordinats from event window to grab window instead of homegrown code
2009-04-02 10:15:31 +02:00
Richard Hult
a180f7588f
Replace quartz specific keyboard grab code with common code
2009-04-02 10:15:31 +02:00
Richard Hult
f06d432ebe
Cast to avoid warning
2009-04-02 10:15:31 +02:00
Richard Hult
06e583e536
Remove unused variable
2009-04-02 10:15:31 +02:00
Richard Hult
152614966f
Use the common pointer grab code instead of tracking it ourselves
2009-04-02 10:15:31 +02:00
Richard Hult
55c71f18a4
Use isKeyWindow instead of isMainWindow for the non-click-through check
2009-04-02 10:15:31 +02:00
Richard Hult
e8d6ac71b7
Apply non-click-through policy on unfocused windows even if the app is active
2009-04-02 10:15:31 +02:00
Richard Hult
c36625879b
Fix coords returned by _gdk_windowing_window_get_pointer, fixes scribble demo
2009-04-02 10:15:31 +02:00
Richard Hult
ccd982f8bd
Remove unused remainders from the old implicit grab code
2009-04-02 10:15:31 +02:00
Richard Hult
79d9a8f960
Get implicit grabs working
2009-04-02 10:15:31 +02:00
Richard Hult
3d72fe16c0
Leave AppKit events unhandled
2009-04-02 10:15:30 +02:00
Richard Hult
0fc2c36ee7
Use event_type we already have instead of regetting it
2009-04-02 10:15:30 +02:00
Richard Hult
7abde8388f
Get the correct root coordinates for events
2009-04-02 10:15:30 +02:00
Alexander Larsson
20c81eca6a
Return ignoring of native grab/ungrab events when we don't have a grab
...
It turns out we really have to ignore grab/ungrab events or we'll
report double crossing events when we grab or ungrab.
However, we also can't ignore crossing events from grabs from other clients
as that leads to missed enter/leave events on e.g. alt-tab in metacity.
Fortunately we now track grabs very precisely, so we know with certainty
whether we have a grab at the time (serial) of the native crossing events,
and only if we do we ignore them.
2009-04-02 10:15:30 +02:00
Alexander Larsson
53269a5042
Handle crossing events with subwindows unknown to gdk
...
If we get crossing events with subwindow unexpectedly being NULL
that means there is a native subwindow that gdk doesn't know about.
We track these and forward them, with the correct virtual window
events inbetween.
This is important to get right, as metacity uses gdk for the frame
windows, but gdk doesn't know about the client windows reparented
into the frame.
2009-04-02 10:15:30 +02:00
Alexander Larsson
7776c87f3f
enable motion hints - use last sent request
...
We were using the next request, but there is no guarantee
on is sent. This caused trouble in e.g. the handlebox dragging.
2009-04-02 10:15:30 +02:00
Alexander Larsson
7b67393b8a
Make sure we report grab broken on window destroy
2009-04-02 10:15:30 +02:00
Alexander Larsson
025b6aa741
Report the steady state in gdk_display_pointer_is_grabbed
...
For instance if we grab the pointer and then check if its grabbed
so that we know to ungrab we don't care that the grab is not
yet active, so report the steady state (i.e. the last grab)
2009-04-02 10:15:30 +02:00
Alexander Larsson
5be3f38535
Move implicit grab tracking totally to common code
2009-04-02 10:15:30 +02:00
Alexander Larsson
d6ad734c7f
Don't send crossing events to destroyed windows
2009-04-02 10:15:30 +02:00
Alexander Larsson
26cbf87d7d
New approach for grab tracking code
...
We try to track the exact grab state, i.e. whats valid on the client
now and whats comming soon via the xserver roundtrip (and when).
2009-04-02 10:15:30 +02:00
Alexander Larsson
526ff6dd68
Ref windows during _gdk_x11_roundtrip_async
2009-04-02 10:15:29 +02:00
Alexander Larsson
abb7a32fbe
Fix up indentation
2009-04-02 10:15:29 +02:00
Alexander Larsson
1cc4712ea1
Move bitfield in GdkWindowImplX11 to make struct more compact
2009-04-02 10:15:29 +02:00
Alexander Larsson
a6e647863d
Only sync the display if creating a native window implicitly
2009-04-02 10:15:29 +02:00
Alexander Larsson
e631d2d2d4
Sync the display when creating a native window.
...
This is needed because we want to be able to use the xid immediately
even from another process or another connection to the display.
2009-04-02 10:15:29 +02:00
Alexander Larsson
089c9ca2f1
Don't warn about unexpected events on foreign windows
...
We don't really control these events so its not wrong per se
to have them generate stuff we don't expect.
2009-04-02 10:15:29 +02:00
Alexander Larsson
bfd29e62b5
Update clip region etc, when creating a foreign window
2009-04-02 10:15:29 +02:00
Alexander Larsson
177b53a079
Fix typo in gdk_window_input_shape_combine_region
2009-04-02 10:15:29 +02:00
Alexander Larsson
8b7d8431aa
Make gdk_window_get_toplevel() for CHILD window with root as parent
...
Having GDK_WINDOW_CHILD windows with root as the parent apparently works,
and metacity uses it. The current gdk_window_get_toplevel() returns the
root window for that, which is wrong, so we check that explicitly.
2009-04-02 10:15:29 +02:00
Alexander Larsson
33c0c1fba8
Don't mess with any events on the root window.
...
This causes all sorts of weirdness with pointer_over_window
being the rootwindow and then crashing gdk_window_get_toplevel() later.
With this metacity stops crashing madly.
2009-04-02 10:15:29 +02:00
Alexander Larsson
6e56179b03
Don't crash if window->parent is NULL
...
This happens for events on the root window.
2009-04-02 10:15:28 +02:00
Alexander Larsson
d9fcda1072
Don't recursively set bg none on the parent when e.g. moving children
...
To avoid drawing the window background of other windows in the area
where the window was we set the bg to none recursively. However, this
is quite costly it the moved window has many siblings. Furthermore, it
is uncommon that siblings overlap, so this cost has little gain.
So, we only set bg None on the parent, which means that there will
be some more flicker in the uncommon case of overlapping siblings.
2009-04-02 10:15:28 +02:00
Alexander Larsson
de2d5f299d
Simplify do_move_region_bits_on_impl by removing unused arguments
2009-04-02 10:15:28 +02:00
Alexander Larsson
8de6ae26e4
Remove_gdk_pixmap_set_as_backing etc, as this is not used anymore
...
We don't copy from a window to a pixmap anymore, so all the code
for this can be removed.
2009-04-02 10:15:28 +02:00
Alexander Larsson
e542f734a8
Fix warning about XChangeProperty argument type
2009-04-02 10:15:28 +02:00
Alexander Larsson
3eb2b62120
Remove unused code
2009-04-02 10:15:28 +02:00
Alexander Larsson
75cb664049
Fix warning about wrong type in assignment
2009-04-02 10:15:28 +02:00