Commit c9312d02 authored by Owen Taylor's avatar Owen Taylor Committed by Owen Taylor
Browse files

Supplement the existing WMNormalHints, don't overwrite them.

Wed Feb 10 10:43:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
	 Supplement the existing WMNormalHints, don't
	 overwrite them.
parent 88c112cd
Wed Feb 10 10:43:50 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
Supplement the existing WMNormalHints, don't
overwrite them.
Wed Feb 10 08:35:36 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
......
Wed Feb 10 10:43:50 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
Supplement the existing WMNormalHints, don't
overwrite them.
Wed Feb 10 08:35:36 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
......
Wed Feb 10 10:43:50 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
Supplement the existing WMNormalHints, don't
overwrite them.
Wed Feb 10 08:35:36 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
......
Wed Feb 10 10:43:50 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
Supplement the existing WMNormalHints, don't
overwrite them.
Wed Feb 10 08:35:36 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
......
Wed Feb 10 10:43:50 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
Supplement the existing WMNormalHints, don't
overwrite them.
Wed Feb 10 08:35:36 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
......
Wed Feb 10 10:43:50 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
Supplement the existing WMNormalHints, don't
overwrite them.
Wed Feb 10 08:35:36 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
......
Wed Feb 10 10:43:50 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
Supplement the existing WMNormalHints, don't
overwrite them.
Wed Feb 10 08:35:36 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
......
......@@ -2008,7 +2008,7 @@ gdk_window_set_icon (GdkWindow *window,
GdkPixmap *pixmap,
GdkBitmap *mask)
{
XWMHints wm_hints;
XWMHints *wm_hints;
GdkWindowPrivate *window_private;
GdkWindowPrivate *private;
......@@ -2016,31 +2016,34 @@ gdk_window_set_icon (GdkWindow *window,
window_private = (GdkWindowPrivate*) window;
if (window_private->destroyed)
return;
wm_hints.flags = 0;
wm_hints = XGetWMHints (window_private->xdisplay, window_private->xwindow);
if (!wm_hints)
wm_hints = XAllocWMHints ();
if (icon_window != NULL)
{
private = (GdkWindowPrivate *)icon_window;
wm_hints.flags |= IconWindowHint;
wm_hints.icon_window = private->xwindow;
wm_hints->flags |= IconWindowHint;
wm_hints->icon_window = private->xwindow;
}
if (pixmap != NULL)
{
private = (GdkWindowPrivate *)pixmap;
wm_hints.flags |= IconPixmapHint;
wm_hints.icon_pixmap = private->xwindow;
wm_hints->flags |= IconPixmapHint;
wm_hints->icon_pixmap = private->xwindow;
}
if (mask != NULL)
{
private = (GdkWindowPrivate *)mask;
wm_hints.flags |= IconMaskHint;
wm_hints.icon_mask = private->xwindow;
wm_hints->flags |= IconMaskHint;
wm_hints->icon_mask = private->xwindow;
}
XSetWMHints (window_private->xdisplay, window_private->xwindow, &wm_hints);
XSetWMHints (window_private->xdisplay, window_private->xwindow, wm_hints);
XFree (wm_hints);
}
void
......@@ -2075,7 +2078,7 @@ void
gdk_window_set_group (GdkWindow *window,
GdkWindow *leader)
{
XWMHints wm_hints;
XWMHints *wm_hints;
GdkWindowPrivate *window_private;
GdkWindowPrivate *private;
......@@ -2086,10 +2089,16 @@ gdk_window_set_group (GdkWindow *window,
return;
private = (GdkWindowPrivate *)leader;
wm_hints.flags = WindowGroupHint;
wm_hints.window_group = private->xwindow;
XSetWMHints (window_private->xdisplay, window_private->xwindow, &wm_hints);
wm_hints = XGetWMHints (window_private->xdisplay, window_private->xwindow);
if (!wm_hints)
wm_hints = XAllocWMHints ();
wm_hints->flags |= WindowGroupHint;
wm_hints->window_group = private->xwindow;
XSetWMHints (window_private->xdisplay, window_private->xwindow, wm_hints);
XFree (wm_hints);
}
static void
......
......@@ -2008,7 +2008,7 @@ gdk_window_set_icon (GdkWindow *window,
GdkPixmap *pixmap,
GdkBitmap *mask)
{
XWMHints wm_hints;
XWMHints *wm_hints;
GdkWindowPrivate *window_private;
GdkWindowPrivate *private;
......@@ -2016,31 +2016,34 @@ gdk_window_set_icon (GdkWindow *window,
window_private = (GdkWindowPrivate*) window;
if (window_private->destroyed)
return;
wm_hints.flags = 0;
wm_hints = XGetWMHints (window_private->xdisplay, window_private->xwindow);
if (!wm_hints)
wm_hints = XAllocWMHints ();
if (icon_window != NULL)
{
private = (GdkWindowPrivate *)icon_window;
wm_hints.flags |= IconWindowHint;
wm_hints.icon_window = private->xwindow;
wm_hints->flags |= IconWindowHint;
wm_hints->icon_window = private->xwindow;
}
if (pixmap != NULL)
{
private = (GdkWindowPrivate *)pixmap;
wm_hints.flags |= IconPixmapHint;
wm_hints.icon_pixmap = private->xwindow;
wm_hints->flags |= IconPixmapHint;
wm_hints->icon_pixmap = private->xwindow;
}
if (mask != NULL)
{
private = (GdkWindowPrivate *)mask;
wm_hints.flags |= IconMaskHint;
wm_hints.icon_mask = private->xwindow;
wm_hints->flags |= IconMaskHint;
wm_hints->icon_mask = private->xwindow;
}
XSetWMHints (window_private->xdisplay, window_private->xwindow, &wm_hints);
XSetWMHints (window_private->xdisplay, window_private->xwindow, wm_hints);
XFree (wm_hints);
}
void
......@@ -2075,7 +2078,7 @@ void
gdk_window_set_group (GdkWindow *window,
GdkWindow *leader)
{
XWMHints wm_hints;
XWMHints *wm_hints;
GdkWindowPrivate *window_private;
GdkWindowPrivate *private;
......@@ -2086,10 +2089,16 @@ gdk_window_set_group (GdkWindow *window,
return;
private = (GdkWindowPrivate *)leader;
wm_hints.flags = WindowGroupHint;
wm_hints.window_group = private->xwindow;
XSetWMHints (window_private->xdisplay, window_private->xwindow, &wm_hints);
wm_hints = XGetWMHints (window_private->xdisplay, window_private->xwindow);
if (!wm_hints)
wm_hints = XAllocWMHints ();
wm_hints->flags |= WindowGroupHint;
wm_hints->window_group = private->xwindow;
XSetWMHints (window_private->xdisplay, window_private->xwindow, wm_hints);
XFree (wm_hints);
}
static void
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment