mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 10:50:10 +00:00
Set current cursor also when changing the cursor of a window that is the
2005-01-09 Tor Lillqvist <tlillqvist@novell.com> * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Set current cursor also when changing the cursor of a window that is the first ancestor of the window containing the pointer that has a cursor defined. (#163035, Ivan Wong)
This commit is contained in:
parent
b1167d1d11
commit
95ab1e7123
@ -1,3 +1,10 @@
|
||||
2005-01-09 Tor Lillqvist <tlillqvist@novell.com>
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Set current
|
||||
cursor also when changing the cursor of a window that is the first
|
||||
ancestor of the window containing the pointer that has a cursor
|
||||
defined. (#163035, Ivan Wong)
|
||||
|
||||
2005-01-09 Anders Carlsson <andersca@gnome.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c: (get_size):
|
||||
|
@ -1,3 +1,10 @@
|
||||
2005-01-09 Tor Lillqvist <tlillqvist@novell.com>
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Set current
|
||||
cursor also when changing the cursor of a window that is the first
|
||||
ancestor of the window containing the pointer that has a cursor
|
||||
defined. (#163035, Ivan Wong)
|
||||
|
||||
2005-01-09 Anders Carlsson <andersca@gnome.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c: (get_size):
|
||||
|
@ -1,3 +1,10 @@
|
||||
2005-01-09 Tor Lillqvist <tlillqvist@novell.com>
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Set current
|
||||
cursor also when changing the cursor of a window that is the first
|
||||
ancestor of the window containing the pointer that has a cursor
|
||||
defined. (#163035, Ivan Wong)
|
||||
|
||||
2005-01-09 Anders Carlsson <andersca@gnome.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c: (get_size):
|
||||
|
@ -1,3 +1,10 @@
|
||||
2005-01-09 Tor Lillqvist <tlillqvist@novell.com>
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Set current
|
||||
cursor also when changing the cursor of a window that is the first
|
||||
ancestor of the window containing the pointer that has a cursor
|
||||
defined. (#163035, Ivan Wong)
|
||||
|
||||
2005-01-09 Anders Carlsson <andersca@gnome.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c: (get_size):
|
||||
|
@ -1823,10 +1823,31 @@ gdk_window_set_cursor (GdkWindow *window,
|
||||
hcursor, impl->hcursor));
|
||||
}
|
||||
|
||||
/* If the pointer is over our window, set new cursor if given */
|
||||
if (gdk_window_get_pointer(window, NULL, NULL, NULL) == window)
|
||||
if (impl->hcursor != NULL)
|
||||
SetCursor (impl->hcursor);
|
||||
if (impl->hcursor != NULL)
|
||||
{
|
||||
/* If the pointer is over our window, set new cursor */
|
||||
GdkWindow *curr_window = gdk_window_get_pointer (window, NULL, NULL, NULL);
|
||||
if (curr_window == window)
|
||||
SetCursor (impl->hcursor);
|
||||
else
|
||||
{
|
||||
/* Climb up the tree and find whether our window is the
|
||||
* first ancestor that has cursor defined, and if so, set
|
||||
* new cursor.
|
||||
*/
|
||||
GdkWindowObject *curr_window_obj = GDK_WINDOW_OBJECT (curr_window);
|
||||
while (curr_window_obj &&
|
||||
!GDK_WINDOW_IMPL_WIN32 (curr_window_obj->impl)->hcursor)
|
||||
{
|
||||
curr_window_obj = curr_window_obj->parent;
|
||||
if (curr_window_obj == GDK_WINDOW_OBJECT (window))
|
||||
{
|
||||
SetCursor (impl->hcursor);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Destroy the previous cursor: Need to make sure it's no longer in
|
||||
* use before we destroy it, in case we're not over our window but
|
||||
|
Loading…
Reference in New Issue
Block a user