Commit Graph

2890 Commits

Author SHA1 Message Date
c99b4e775b Bug #588379 - testgtk::panes does not change the cursor on mouse over
That one was easy, just removing Alex's #ifdef TODO_CSW ;)

http://bugzilla.gnome.org/show_bug.cgi?id=588379
2009-07-13 09:45:03 +02:00
e2000ac366 Bug #588373 - Menus broken by client-side-windows
Resurrcetion and adaption of find_window_for_mouse_event(). The window
receiving the WM_MOUSEMOVE, WM_?BUTTONDOWN is not necessarily the one
interested in GDK_(ENTER|MOTION|LEAVE)_NOTIFY

http://bugzilla.gnome.org/show_bug.cgi?id=588373

Also added some more more TODO_CSW and disabled print_event(): it can not
cope with the new _gdk_windowing_got_event() eating/morphing events.
2009-07-13 09:45:02 +02:00
b97ccecd5d Update msvc build 2009-07-13 09:45:00 +02:00
d0366e5160 Don't draw to unviewable windows
The scrolling and region moving code needs to avoid drawing when the
window is mapped, which it did. However, it also needs to avoid
drawing when any of its parents are not mapped, which it didn't so
switch to using gdk_window_is_viewable().

This fixes the index rendering in evolution (#588169)
2009-07-11 00:33:52 +02:00
9063e5b3bf Ensure that windows used for selections are native
This fixes cut and paste in gvim (#588115)
2009-07-10 19:36:38 +02:00
ccb09d1c6f Manually update toplevel_under_pointer when a grab changes to owner_events
When we ungrab the pointer we don't get enter events for the window the
pointer is in at the time of the ungrab, so we manually query for the
window the pointer is in. The same thing actually happens on re-grab if
the previous grab was !owner_events (meaning we don't get crossing events
for windows other than the grab) but the new grab is owner_events (and
thus non-grab windows need to get crossing events).

This factors out some common code and enables it also for the re-grab
to owner_events case.
2009-07-10 17:38:05 +02:00
6ca5430a74 Merge branch 'directfb-csw' 2009-07-10 03:21:28 +01:00
e6605b091c get directfb building with csw 2009-07-09 23:53:26 +01:00
3d1f55b68d Add xevent->xcrossing.mode to GDK_NOTE() for enter and leave notify events 2009-07-09 17:59:41 +02:00
9044ec9bb9 Correctly set enter/leave events as detail=nonlinear
If we get a nonlinear enter/leave notify on the toplevel we need
to set nonlinear in all the events we send, even if the in-toplevel
tree is linear.

This fixes combobox menus popping down immediately when you click
(not hold). (bug #587559)
2009-07-09 17:06:46 +02:00
9ef87ea11e Handle non-native windows in the gdk test utils
We need to add the non-native offset to the root coords when
sending events.
2009-07-08 18:47:43 +02:00
a90d43bed6 Don't emulate map/unmap events for native windows
We really need to wait for the MapNotify from the xserver to ensure
that the window has been mapped, as it may be delayed by the WM, network
or similar things.

This fixes a problem in the /ui-tests/keys-events gtk test
2009-07-08 18:47:43 +02:00
872152d56b Make gdk build with GDK_DISABLE_DEPRECATED
Turns out gdk_window_get_deskrelative_origin is now called in
gdk as well.
2009-07-08 09:54:39 -04:00
b6b9004885 Use g_object_unref instead of deprecated gdk_pixmap_unref 2009-07-08 15:48:51 +02:00
62db28607b The shape is in window coordinate, so properly offset it when using it 2009-07-07 17:10:49 +02:00
52e3d2cf0e Optimize clip-to-window with clipmask case when fully visible or obscured
This avoids creating alot of bitmaps in common trivial cases.
2009-07-07 17:10:49 +02:00
2678a454e5 Make clipmasks work for pixbuf rendering
This is more important in the client side windows world, as clip masks
may be used for clipping to non-native subwindows. This fixes a bug
in aisleriot where it uses masked pixbuf drawing and it ends up drawing
over the moving card subwindow.
2009-07-07 17:10:49 +02:00
5f12fe2b3b Add _gdk_gc_get_clip_mask
Internal function to get the clip mask of a gc (if set)
2009-07-07 17:10:49 +02:00
b3969a3d75 2.17.3 2009-07-07 01:05:29 -04:00
93556ea899 Make distcheck pass 2009-07-06 23:06:46 -04:00
a213b00d8b More documentation fixes 2009-07-05 20:56:45 -04:00
3b3e4e2a4b More small documentation fixups 2009-07-05 20:56:45 -04:00
44bb1fb30e Small documentation fixes 2009-07-05 20:56:44 -04:00
cd58baa7e3 Updated msvc build 2009-07-04 12:19:13 +02:00
7e116727d7 Fix condition to deliver root coords 2009-07-04 12:19:12 +02:00
23b1b350b0 Enable window creation with GDK_WINDOW_CHILD again 2009-07-04 12:19:11 +02:00
1bc0954495 Initialize 'private' before use 2009-07-04 12:19:10 +02:00
fbf73aada9 Updated msvc build 2009-07-04 12:19:05 +02:00
bbd62f4ad8 Conditionally define WS_EX_COMPOSITED 2009-07-04 12:19:04 +02:00
8031910e21 Add doc stubs 2009-07-03 15:22:02 -04:00
2e3866b5b2 Make GdkDrawable draw_drawable backwards compat
Turns out pygtk build broke due to the argument addition to draw_drawable.
So, we now add a new vfunc for the new draw_drawable and are thus
backwards compat.
2009-07-01 19:50:49 +02:00
038398d493 Move new draw_drawable argument to end to make it more backwards compat 2009-07-01 16:13:31 +02:00
10bf7ca744 Clean up embedding api
we now use gdk_offscreen_window_set_embedder() instead of a signal
to get the parent. This also replaces set_has_offscreen_changes.

Rename "parent" in all embedding related names to "embedder" to make it
more obviously different than the normal parent.

Rename gdk_window_get_offscreen_pixmap to gdk_offscreen_window_get_pixmap
to match the other offscreen calls.

Rename gdk_window_offscreen_children_changed to gdk_window_geometry_changed
as this is more descriptive.
2009-07-01 14:36:36 +02:00
681c3c288b Remove debug spew, add TODO_CSW 2009-07-01 13:33:45 +02:00
199582aed3 gdk_win32_blit, don't get the size of the impl 2009-07-01 13:33:06 +02:00
b1df568239 Some win32 cleanups 2009-07-01 12:06:57 +02:00
593d5441d4 Fix win32 GC set_region handling of reset_region 2009-07-01 12:06:04 +02:00
5341efd4d4 Make win32 backend build and minimally work 2009-07-01 10:28:06 +02:00
11a96ce2f6 Don't use GDK_WINDOW_SCREEN, as its an X11 specific macro 2009-07-01 10:28:05 +02:00
0c6f64a76c Don't return value from void function
This fixes the previous commit where the return value was removed.
2009-07-01 10:27:54 +02:00
413b39962f Add missing symbols to gdk.symbols 2009-06-30 12:40:51 +02:00
b50dfa6923 Add gdk_window_get_root_coords to gdk.symbols 2009-06-30 10:55:06 +02:00
3b6cf72f39 Move destroyed check to common code for get_origin & get_root_coords
Also remove weird return value from get_root_coords
2009-06-30 09:30:53 +02:00
64e7c7828d Don't hide foreign children when emulating visibility
We emulate visibility by unmapping (in X) all mapped (according to
gdk) windows that are not visible (all parents mapped). This is because
there may be client side windows inbetween the native windows in the
hierarchy, so you can't know a native window is visible just because
all the parent native windows are mapped.

However, we don't want to unmap foreign windows, as that may cause all
sort of unexpected issues. This should be safe, because generally the
parent of a foreign window is a native window (e.g. a socket), so its
gdk visibility state is the same as the Xserver one.

This fixes an issue with the GDM notification area where the unmap of
the plug caused spurious UnmapNotify events that confused GtkSocket and
caused icons to become one pixel wide.
2009-06-26 20:11:57 +02:00
c84c0e92f8 Better implementation of native clear_area
Last commit was bad, as it didn't clip against client side
children. This implements such clipping first and then
only clears the rectangles that need to be cleared.
2009-06-26 17:07:24 +02:00
0e548579de Implement gdk_window_clear_area natively for foreign windows
This fixes a redraw issue with the notification area in xfce4.
2009-06-26 15:45:53 +02:00
4e902cd223 Clip cairo drawing against client-side child windows
This is how cairo works with native children.
This fixes an issue where the drag target outline is visible on the
evolution folder treeview when it isn't with native windows.
2009-06-26 14:20:05 +02:00
43bc999e6d Ensure that we always calculate clip regions for root windows
Without this we can't draw to them, which caused problems for e.g.
gnome-settings-daemon clearing the background when the desktop
background changed.

Note: We don't actually clip away child windows from the root window,
the clip is just based on the size of the root window.
2009-06-25 17:05:21 +02:00
794f2815de Fix g_signal_emit calls
The switch to g_signal_emit was all messed up, I forgot to add signals[]
around the signal enum and did not pass in the detail quark.
2009-06-25 17:04:18 +02:00
cf1c6bc2ed Fix typos 2009-06-24 20:59:29 +02:00