All pastes #718411 Raw Edit

Something

public text v1 · immutable
#718411 ·published 2007-09-28 12:13 UTC
rendered paste body
diff --git a/widget.c b/widget.c
index 3c782c4..58e2757 100644
--- a/widget.c
+++ b/widget.c
@@ -161,6 +161,9 @@ widgetUpdateWidgetStatus (CompWindow *w)
 	break;
     }
 
+    printf ("update widget status for %d, property %d, widget %d (was %d)\n",
+	    w->id, ww->propertyState, isWidget, ww->isWidget);
+
     retval = (!isWidget && ww->isWidget) || (isWidget && !ww->isWidget);
     ww->isWidget = isWidget;
 
@@ -183,9 +186,14 @@ widgetUpdateWidgetPropertyState (CompWindow *w)
 				 0, 1L, FALSE, AnyPropertyType, &retType,
 				 &format, &nitems, &remain, &data);
 
-    if (result == Success && nitems && data)
+    printf("get widget prop for %d: result %d, nitems %d, data %p\n", w->id,
+	   result, nitems, data);
+
+    if (result == Success && nitems && data && format == 32)
     {
-	if (*data)
+	unsigned long int *retData = (unsigned long int *) data;
+	printf("data is %i %i\n", *data, *retData);
+	if (*retData)
 	    ww->propertyState = PropertyWidget;
 	else
 	    ww->propertyState = PropertyNoWidget;
@@ -206,6 +214,7 @@ widgetUpdateWidgetMapState (CompWindow *w,
 
     if (map && ww->wasUnmapped)
     {
+	printf ("mapping %d %x\n", w->id, w->state);
 	XMapWindow (w->screen->display->display, w->id);
 	raiseWindow (w);
 	ww->wasUnmapped = FALSE;
@@ -217,7 +226,9 @@ widgetUpdateWidgetMapState (CompWindow *w,
 	   widget mode which aren't supposed to be unmapped */
 	if (w->attrib.map_state == IsViewable)
 	{
+	    printf("%d %d\n", w->managed, w->mapNum);
 	    XUnmapWindow (w->screen->display->display, w->id);
+	    printf ("unmapping %d\n", w->id);
 	    ww->wasUnmapped = TRUE;
 	}
     }
@@ -331,6 +342,7 @@ widgetToggle (CompDisplay     *d,
     {
 	WIDGET_SCREEN (s);
 
+	printf ("toggling widget mode, old state %d\n", ws->state);
 	switch (ws->state) {
 	case StateOff:
 	case StateFadeOut:
@@ -349,6 +361,8 @@ widgetToggle (CompDisplay     *d,
 	if (!ws->grabIndex)
 	    ws->grabIndex = pushScreenGrab (s, ws->cursor, "widget");
 
+	printf ("new state %d, fadetime %d, grabIndex %d\n",
+		ws->state, ws->fadeTime, ws->grabIndex);
 	damageScreen (s);
 
 	return TRUE;
@@ -377,6 +391,7 @@ widgetHandleEvent (CompDisplay *d,
 	    w = findWindowAtDisplay (d, event->xproperty.window);
 	    if (w)
 	    {
+		printf("widget property change for %d\n", w->id);
 		if (widgetUpdateWidgetPropertyState (w))
 		{
 		    Bool map;
@@ -487,6 +502,8 @@ widgetUpdateStatus (void *closure)
     if (widgetUpdateWidgetPropertyState (w))
 	widgetUpdateWidgetMapState (w, (ws->state != StateOff));
 
+    printf("window %d %s init, isWidget %d\n", w->id, w->resName, ww->isWidget);
+
     if (w->attrib.override_redirect)
 	clientLeader = getClientLeader (w);
     else