From c540438b913f60696e969b93d1bd9d1a5fef5af0 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sat, 10 Aug 2002 17:32:29 +0000 Subject: [PATCH] be sure window is mapped if we unmanage it and it's not withdrawn; bug 2002-08-10 Havoc Pennington * src/window.c (meta_window_free): be sure window is mapped if we unmanage it and it's not withdrawn; bug #90369 * src/screen.c (meta_screen_new): change string s/override/replace/ bug #89077 * src/theme.c (scale_and_alpha_pixbuf): dump the sometimes-use-NEAREST-instead-of-BILINEAR optimization, bug #87489 --- ChangeLog | 13 +++++++++++++ src/screen.c | 2 +- src/theme.c | 16 +++------------- src/window.c | 16 ++++++++++++---- 4 files changed, 29 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index a5bc62ecc..2f9e8b1cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2002-08-10 Havoc Pennington + + * src/window.c (meta_window_free): be sure window is + mapped if we unmanage it and it's not withdrawn; + bug #90369 + + * src/screen.c (meta_screen_new): change string + s/override/replace/ bug #89077 + + * src/theme.c (scale_and_alpha_pixbuf): dump the + sometimes-use-NEAREST-instead-of-BILINEAR optimization, + bug #87489 + 2002-08-10 Havoc Pennington * src/window.c (menu_callback): raise window when moving to diff --git a/src/screen.c b/src/screen.c index 999d3dbda..9319f7f4f 100644 --- a/src/screen.c +++ b/src/screen.c @@ -218,7 +218,7 @@ meta_screen_new (MetaDisplay *display, if (!replace_current_wm) { - meta_warning (_("Screen %d on display \"%s\" already has a window manager; try using the --replace option to override the current window manager.\n"), + meta_warning (_("Screen %d on display \"%s\" already has a window manager; try using the --replace option to replace the current window manager.\n"), number, display->name); return NULL; diff --git a/src/theme.c b/src/theme.c index cc5e73db7..34e0240ef 100644 --- a/src/theme.c +++ b/src/theme.c @@ -2633,19 +2633,9 @@ scale_and_alpha_pixbuf (GdkPixbuf *src, switch (fill_type) { case META_IMAGE_FILL_SCALE: - if (gdk_pixbuf_get_width (pixbuf) == width || - gdk_pixbuf_get_height (pixbuf) == height) - { - pixbuf = gdk_pixbuf_scale_simple (pixbuf, - width, height, - GDK_INTERP_NEAREST); - } - else - { - pixbuf = gdk_pixbuf_scale_simple (pixbuf, - width, height, - GDK_INTERP_BILINEAR); - } + pixbuf = gdk_pixbuf_scale_simple (pixbuf, + width, height, + GDK_INTERP_BILINEAR); break; case META_IMAGE_FILL_TILE: pixbuf = pixbuf_tile (pixbuf, width, height); diff --git a/src/window.c b/src/window.c index 2a3b9243d..95d7608f6 100644 --- a/src/window.c +++ b/src/window.c @@ -869,7 +869,10 @@ meta_window_free (MetaWindow *window) meta_stack_remove (window->screen->stack, window); /* FIXME restore original size if window has maximized */ - + + if (window->frame) + meta_window_destroy_frame (window); + if (window->withdrawn) { /* We need to clean off the window's state so it @@ -897,10 +900,15 @@ meta_window_free (MetaWindow *window) set_wm_state (window, NormalState); meta_error_trap_pop (window->display); } + + /* And we need to be sure the window is mapped so other WMs + * know that it isn't Withdrawn + */ + meta_error_trap_push (window->display); + XMapWindow (window->display->xdisplay, + window->xwindow); + meta_error_trap_pop (window->display); } - - if (window->frame) - meta_window_destroy_frame (window); meta_window_ungrab_keys (window); meta_display_ungrab_window_buttons (window->display, window->xwindow);