Commit 19c1c11322baa4fc8a1314b6550665414fdc4f60
- Diff rendering mode:
- inline
- side by side
gdk/gdkwindow.c
(16 / 1)
|   | |||
| 5978 | 5978 | gdk_window_raise (GdkWindow *window) | |
| 5979 | 5979 | { | |
| 5980 | 5980 | GdkWindowObject *private; | |
| 5981 | GdkRegion *old_region, *new_region; | ||
| 5981 | 5982 | ||
| 5982 | 5983 | g_return_if_fail (GDK_IS_WINDOW (window)); | |
| 5983 | 5984 | ||
| … | … | ||
| 5986 | 5986 | if (private->destroyed) | |
| 5987 | 5987 | return; | |
| 5988 | 5988 | ||
| 5989 | old_region = NULL; | ||
| 5990 | if (gdk_window_is_viewable (window) && | ||
| 5991 | !private->input_only) | ||
| 5992 | old_region = gdk_region_copy (private->clip_region); | ||
| 5993 | |||
| 5989 | 5994 | /* Keep children in (reverse) stacking order */ | |
| 5990 | 5995 | gdk_window_raise_internal (window); | |
| 5991 | 5996 | ||
| 5992 | 5997 | recompute_visible_regions (private, TRUE, FALSE); | |
| 5993 | 5998 | ||
| 5994 | gdk_window_invalidate_rect (window, NULL, TRUE); | ||
| 5999 | if (old_region) | ||
| 6000 | { | ||
| 6001 | new_region = gdk_region_copy (private->clip_region); | ||
| 6002 | |||
| 6003 | gdk_region_subtract (new_region, old_region); | ||
| 6004 | gdk_window_invalidate_region (window, new_region, TRUE); | ||
| 6005 | |||
| 6006 | gdk_region_destroy (old_region); | ||
| 6007 | gdk_region_destroy (new_region); | ||
| 6008 | } | ||
| 5995 | 6009 | } | |
| 5996 | 6010 | ||
| 5997 | 6011 | static void |

