[teklib-general] changeset in /hg/teklib/current: reworked size hint attributes a...

Timm S. Mueller tmueller at neoscientists.org
Mon Jul 9 22:07:57 CEST 2007


changeset 7e72db4056e0 in /hg/teklib/current
details: http://teklib.org:8001/hg/teklib/current?cmd=changeset;node=7e72db4056e0
description:
	reworked size hint attributes and initialization

diffs (46 lines):

diff -r caf097f3edb8 -r 7e72db4056e0 src/visual/posix/visual_host.c
--- a/src/visual/posix/visual_host.c	Mon Jul 02 22:15:17 2007 +0200
+++ b/src/visual/posix/visual_host.c	Mon Jul 09 22:07:29 2007 +0200
@@ -1145,6 +1145,7 @@ vis_init(TMOD_VIS *mod)
 		if (v->window == TNULL) break;
 
 		v->sizehints->flags = 0;
+
 		v->sizehints->min_width = (TINT)
 			TGetTag(mod->vis_InitTags, TVisual_MinWidth, (TTAG) -1);
 		v->sizehints->min_height = (TINT)
@@ -1153,10 +1154,17 @@ vis_init(TMOD_VIS *mod)
 			TGetTag(mod->vis_InitTags, TVisual_MaxWidth, (TTAG) -1);
 		v->sizehints->max_height = (TINT)
 			TGetTag(mod->vis_InitTags, TVisual_MaxHeight, (TTAG) -1);
-		if (v->sizehints->min_width >= 0 && v->sizehints->min_height >= 0)
+
+		v->sizehints->min_width = v->sizehints->min_width <= 0 ? 1 : v->sizehints->min_width;
+		v->sizehints->min_height = v->sizehints->min_height <= 0 ? 1 : v->sizehints->min_height;
+		v->sizehints->max_width = v->sizehints->max_width <= 0 ? 1000000 : v->sizehints->max_width;
+		v->sizehints->max_height = v->sizehints->max_height <= 0 ? 1000000 : v->sizehints->max_height;
+
+		/*if (v->sizehints->min_width >= 0 && v->sizehints->min_height >= 0)*/
 			v->sizehints->flags |= PMinSize;
-		if (v->sizehints->max_width >= 0 && v->sizehints->max_height >= 0)
+		/*if (v->sizehints->max_width >= 0 && v->sizehints->max_height >= 0)*/
 			v->sizehints->flags |= PMaxSize;
+
 		if (v->sizehints->flags)
 			XSetWMNormalHints(v->display, v->window, v->sizehints);
 
@@ -1180,12 +1188,14 @@ vis_init(TMOD_VIS *mod)
 
 		XMapWindow(v->display, v->window);
 
+#if 0
 		for (;;)
 		{
 			XEvent ev;
 			XNextEvent(v->display, &ev);
 			if (ev.type == MapNotify) break;
 		}
+#endif
 
 		v->base_mask = swa.event_mask;
 		v->textwidth = v->winwidth / v->fontwidth;


More information about the teklib-general mailing list