Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
E.h borders.c desktops.c eobj.c events.c ewin-ops.c ewins.c
focus.c groups.c icccm.c main.c menus-misc.c menus.c session.c
snaps.c warp.c
Log Message:
Attempt to fix unmap problem, more debug, cleanups.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.342
retrieving revision 1.343
diff -u -3 -r1.342 -r1.343
--- E.h 9 Jan 2005 10:06:05 -0000 1.342
+++ E.h 9 Jan 2005 22:35:59 -0000 1.343
@@ -1662,7 +1662,7 @@
void EwinReparent(EWin * ewin, Window parent);
void SyncBorderToEwin(EWin * ewin);
Window EwinGetClientWin(const EWin * ewin);
-const char *EwinGetTitle(const EWin * ewin);
+const char *EwinGetName(const EWin * ewin);
const char *EwinGetIconName(const EWin * ewin);
int EwinIsOnScreen(EWin * ewin);
void EwinRememberPositionSet(EWin * ewin);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/borders.c,v
retrieving revision 1.241
retrieving revision 1.242
diff -u -3 -r1.241 -r1.242
--- borders.c 4 Jan 2005 23:22:11 -0000 1.241
+++ borders.c 9 Jan 2005 22:35:59 -0000 1.242
@@ -111,7 +111,7 @@
switch (ewin->border->part[i].flags)
{
case FLAG_TITLE:
- title = EwinGetTitle(ewin);
+ title = EwinGetName(ewin);
if (title)
TextclassApply(ewin->border->part[i].iclass, ewb->win,
ewb->w, ewb->h, ewin->active,
@@ -307,7 +307,7 @@
iclass = ewin->border->part[i].iclass;
tclass = ewin->border->part[i].tclass;
TextSize(tclass, ewin->active, EoIsSticky(ewin), ewin->bits[i].state,
- EwinGetTitle(ewin), &max, &dummywidth,
+ EwinGetName(ewin), &max, &dummywidth,
w - (iclass->padding.top + iclass->padding.bottom));
max += iclass->padding.left + iclass->padding.right;
if (h > max)
@@ -354,7 +354,7 @@
iclass = ewin->border->part[i].iclass;
tclass = ewin->border->part[i].tclass;
TextSize(tclass, ewin->active, EoIsSticky(ewin),
- ewin->bits[i].state, EwinGetTitle(ewin), &max,
+ ewin->bits[i].state, EwinGetName(ewin), &max,
&dummyheight,
h - (iclass->padding.top + iclass->padding.bottom));
max += iclass->padding.left + iclass->padding.right;
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -3 -r1.110 -r1.111
--- desktops.c 9 Jan 2005 10:06:07 -0000 1.110
+++ desktops.c 9 Jan 2005 22:36:00 -0000 1.111
@@ -475,10 +475,16 @@
Background *
DeskGetBackground(int desk)
{
+ Desk *d;
+
if (desk < 0 || desk >= Conf.desks.num)
return NULL;
- return _DeskGet(desk)->bg;
+ d = _DeskGet(desk);
+ if (!d)
+ return NULL;
+
+ return d->bg;
}
void
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/eobj.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- eobj.c 8 Jan 2005 08:31:55 -0000 1.6
+++ eobj.c 9 Jan 2005 22:36:00 -0000 1.7
@@ -31,7 +31,7 @@
default:
return "?";
case EOBJ_TYPE_EWIN:
- return EwinGetTitle((EWin *) eo);
+ return EwinGetName((EWin *) eo);
case EOBJ_TYPE_BUTTON:
return ButtonGetName((Button *) eo);
case EOBJ_TYPE_OVERR:
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/events.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -3 -r1.71 -r1.72
--- events.c 8 Jan 2005 08:46:39 -0000 1.71
+++ events.c 9 Jan 2005 22:36:00 -0000 1.72
@@ -354,6 +354,7 @@
case MapRequest: /* 20 */
/* This is to catch badly behaving client window re-mappings */
+ /* Firefox-1.0 unmap/maps during fullscreen toggle without waiting for
reparent or state */
if (!FindItem
(NULL, ev->xmaprequest.window, LIST_FINDBY_ID, LIST_TYPE_EWIN))
AddToFamily(ev->xmaprequest.window);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewin-ops.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ewin-ops.c 2 Jan 2005 15:38:51 -0000 1.4
+++ ewin-ops.c 9 Jan 2005 22:36:00 -0000 1.5
@@ -184,7 +184,7 @@
if (EventDebug(EDBUG_TYPE_MOVERESIZE))
Eprintf("doMoveResizeEwin(%d) %#lx %d+%d %d*%d %d %s\n", call_depth,
- ewin->client.win, x, y, w, h, flags, EwinGetTitle(ewin));
+ ewin->client.win, x, y, w, h, flags, EwinGetName(ewin));
if (Mode.mode == MODE_NONE && Mode.move.check)
{
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewins.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- ewins.c 7 Jan 2005 23:34:48 -0000 1.8
+++ ewins.c 9 Jan 2005 22:36:00 -0000 1.9
@@ -131,7 +131,8 @@
XShapeSelectInput(disp, win, ShapeNotifyMask);
if (EventDebug(EDBUG_TYPE_EWINS))
- Eprintf("EwinCreate %#lx state=%d\n", ewin->client.win, ewin->state);
+ Eprintf("EwinCreate %#lx frame=%#lx state=%d\n", ewin->client.win,
+ EoGetWin(ewin), ewin->state);
EventCallbackRegister(EoGetWin(ewin), 0, EwinHandleEventsToplevel, ewin);
EventCallbackRegister(ewin->win_container, 0, EwinHandleEventsContainer,
@@ -161,7 +162,8 @@
EDBUG_RETURN_;
if (EventDebug(EDBUG_TYPE_EWINS))
- Eprintf("EwinDestroy %#lx state=%d\n", ewin->client.win, ewin->state);
+ Eprintf("EwinDestroy %#lx %s state=%d\n", ewin->client.win,
+ EwinGetName(ewin), ewin->state);
/* FIXME - Fading */
ECompMgrWinDel(&ewin->o, True, False);
@@ -364,7 +366,7 @@
done:
#if 0
Eprintf("GetContextEwin %#lx %s\n", EwinGetClientWin(ewin),
- EwinGetTitle(ewin));
+ EwinGetName(ewin));
#endif
return ewin;
}
@@ -376,7 +378,7 @@
return;
#if 0
Eprintf("SetContextEwin %#lx %s\n", EwinGetClientWin(ewin),
- EwinGetTitle(ewin));
+ EwinGetName(ewin));
#endif
Mode.context_ewin = ewin;
}
@@ -548,6 +550,10 @@
HintsSetWindowState(ewin);
HintsSetClientList();
+ if (EventDebug(EDBUG_TYPE_EWINS))
+ Eprintf("Adopt %#lx %s state=%d\n", ewin->client.win,
+ EwinGetName(ewin), ewin->state);
+
EDBUG_RETURN(ewin);
}
@@ -978,7 +984,8 @@
Window win;
if (EventDebug(EDBUG_TYPE_EWINS))
- Eprintf("EwinWithdraw %#lx state=%d\n", ewin->client.win, ewin->state);
+ Eprintf("EwinWithdraw %#lx %s state=%d\n", ewin->client.win,
+ EwinGetName(ewin), ewin->state);
/* Park the client window on the root */
XTranslateCoordinates(disp, ewin->client.win, VRoot.win,
@@ -1055,8 +1062,8 @@
EwinEventDestroy(EWin * ewin)
{
if (EventDebug(EDBUG_TYPE_EWINS))
- Eprintf("EwinEventDestroy %#lx state=%d\n", ewin->client.win,
- ewin->state);
+ Eprintf("EwinEventDestroy %#lx %s state=%d\n", ewin->client.win,
+ EwinGetName(ewin), ewin->state);
EwinDestroy(ewin);
}
@@ -1069,7 +1076,8 @@
ewin->state = EWIN_STATE_MAPPED;
if (EventDebug(EDBUG_TYPE_EWINS))
- Eprintf("EwinEventMap %#lx state=%d\n", ewin->client.win, ewin->state);
+ Eprintf("EwinEventMap %#lx %s state=%d\n", ewin->client.win,
+ EwinGetName(ewin), ewin->state);
/* If first time we may want to focus it (unless during startup) */
if (old_state == EWIN_STATE_NEW)
@@ -1086,18 +1094,12 @@
if (GetZoomEWin() == ewin)
Zoom(NULL);
- if (ewin->state == EWIN_STATE_NEW)
- {
- Eprintf("EwinEventUnmap %#lx: Ignoring bogus Unmap event\n",
- ewin->client.win);
- return;
- }
-
/* Set state to unknown until we can set the correct one */
ewin->state = (ewin->iconified) ? EWIN_STATE_ICONIC : EWIN_STATE_WITHDRAWN;
if (EventDebug(EDBUG_TYPE_EWINS))
- Eprintf("EwinEventUnmap %#lx state=%d\n", ewin->client.win, ewin->state);
+ Eprintf("EwinEventUnmap %#lx %s state=%d\n", ewin->client.win,
+ EwinGetName(ewin), ewin->state);
ActionsEnd(ewin);
@@ -1430,7 +1432,7 @@
EDBUG(3, "RestackEwin");
if (EventDebug(EDBUG_TYPE_STACKING))
- Eprintf("RestackEwin %#lx %s\n", ewin->client.win, EwinGetTitle(ewin));
+ Eprintf("RestackEwin %#lx %s\n", ewin->client.win, EwinGetName(ewin));
#if 0 /* FIXME - remove? */
if (EoIsFloating(ewin))
@@ -1483,7 +1485,7 @@
if (EventDebug(EDBUG_TYPE_RAISELOWER))
Eprintf("RaiseEwin(%d) %#lx %s\n", call_depth, ewin->client.win,
- EwinGetTitle(ewin));
+ EwinGetName(ewin));
if (EoGetWin(ewin))
{
@@ -1533,7 +1535,7 @@
if (EventDebug(EDBUG_TYPE_RAISELOWER))
Eprintf("LowerEwin(%d) %#lx %s\n", call_depth, ewin->client.win,
- EwinGetTitle(ewin));
+ EwinGetName(ewin));
#if 0 /* FIXME - remove? */
if ((EoGetWin(ewin)) && (!EoIsFloating(ewin)))
@@ -1612,7 +1614,7 @@
}
const char *
-EwinGetTitle(const EWin * ewin)
+EwinGetName(const EWin * ewin)
{
const char *name;
@@ -1645,7 +1647,7 @@
if (name)
goto done;
- return EwinGetTitle(ewin);
+ return EwinGetName(ewin);
done:
return (name && strlen(name)) ? name : NULL;
@@ -1857,7 +1859,7 @@
default:
#if DEBUG_EWIN_EVENTS
Eprintf("EwinHandleEventsToplevel: type=%2d win=%#lx: %s\n",
- ev->type, ewin->client.win, EwinGetTitle(ewin));
+ ev->type, ewin->client.win, EwinGetName(ewin));
#endif
break;
}
@@ -1887,7 +1889,7 @@
break;
default:
Eprintf("EwinHandleEventsContainer: type=%2d win=%#lx: %s\n",
- ev->type, ewin->client.win, EwinGetTitle(ewin));
+ ev->type, ewin->client.win, EwinGetName(ewin));
break;
}
}
@@ -1917,8 +1919,15 @@
EwinEventDestroy(ewin);
break;
case UnmapNotify:
- if (ev->xunmap.window == ewin->client.win)
- EwinEventUnmap(ewin);
+ if (ev->xunmap.window != ewin->client.win)
+ break;
+ if (ewin->state == EWIN_STATE_NEW)
+ {
+ Eprintf("EwinEventUnmap %#lx: Ignoring bogus Unmap event\n",
+ ewin->client.win);
+ break;
+ }
+ EwinEventUnmap(ewin);
break;
case MapNotify:
if (ev->xmap.window == ewin->client.win)
@@ -1945,7 +1954,7 @@
default:
#if DEBUG_EWIN_EVENTS
Eprintf("EwinHandleEventsClient: type=%2d win=%#lx: %s\n",
- ev->type, ewin->client.win, EwinGetTitle(ewin));
+ ev->type, ewin->client.win, EwinGetName(ewin));
#endif
break;
}
@@ -1990,6 +1999,14 @@
EwinEventCirculateRequest(NULL, ev);
break;
+ case UnmapNotify:
+ /* Catch clients unmapped after MapRequest but before being reparented
*/
+ ewin = FindItem(NULL, ev->xunmap.window, LIST_FINDBY_ID,
+ LIST_TYPE_EWIN);
+ if (ewin)
+ EwinEventUnmap(ewin);
+ break;
+
case DestroyNotify:
/* Catch clients destroyed after MapRequest but before being reparented
*/
ewin = FindItem(NULL, ev->xdestroywindow.window, LIST_FINDBY_ID,
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/focus.c,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -3 -r1.86 -r1.87
--- focus.c 28 Dec 2004 23:46:45 -0000 1.86
+++ focus.c 9 Jan 2005 22:36:00 -0000 1.87
@@ -164,7 +164,7 @@
ButtonPressMask, ECSR_PGRAB, 1);
#if 0
Eprintf("FocusEwinSetGrabs: %#lx grab %s\n", ewin->client.win,
- EwinGetTitle(ewin));
+ EwinGetName(ewin));
#endif
}
else
@@ -172,7 +172,7 @@
GrabButtonRelease(AnyButton, AnyModifier, ewin->win_container);
#if 0
Eprintf("FocusEwinSetGrabs: %#lx ungrab %s\n", ewin->client.win,
- EwinGetTitle(ewin));
+ EwinGetName(ewin));
#endif
}
}
@@ -217,7 +217,7 @@
{
if (ewin)
Eprintf("FocusToEWin %#lx %s why=%d\n", ewin->client.win,
- EwinGetTitle(ewin), why);
+ EwinGetName(ewin), why);
else
Eprintf("FocusToEWin None why=%d\n", why);
}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/groups.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -3 -r1.58 -r1.59
--- groups.c 28 Dec 2004 23:46:45 -0000 1.58
+++ groups.c 9 Jan 2005 22:36:01 -0000 1.59
@@ -268,7 +268,7 @@
for (j = 0; j < groups[i]->num_members; j++)
{
strcat(group_member_strings[i],
- EwinGetTitle(groups[i]->members[j]));
+ EwinGetName(groups[i]->members[j]));
strcat(group_member_strings[i], "\n");
}
}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/icccm.c,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -3 -r1.80 -r1.81
--- icccm.c 28 Dec 2004 23:46:45 -0000 1.80
+++ icccm.c 9 Jan 2005 22:36:01 -0000 1.81
@@ -415,7 +415,7 @@
{
if (ewin)
Eprintf("ICCCM_Focus %#lx %s\n", ewin->client.win,
- EwinGetTitle(ewin));
+ EwinGetName(ewin));
else
Eprintf("ICCCM_Focus None\n");
}
@@ -612,7 +612,7 @@
if (EventDebug(EDBUG_TYPE_SNAPS))
Eprintf("Snap get icccm %#lx: %4d+%4d %4dx%4d: %s\n",
ewin->client.win, ewin->client.x, ewin->client.y,
- ewin->client.w, ewin->client.h, EwinGetTitle(ewin));
+ ewin->client.w, ewin->client.h, EwinGetName(ewin));
EDBUG_RETURN_;
}
@@ -1019,7 +1019,7 @@
if (EventDebug(EDBUG_TYPE_SNAPS))
Eprintf("Snap set einf %#lx: %4d+%4d %4dx%4d: %s\n",
ewin->client.win, ewin->client.x, ewin->client.y,
- ewin->client.w, ewin->client.h, EwinGetTitle(ewin));
+ ewin->client.w, ewin->client.h, EwinGetName(ewin));
EDBUG_RETURN_;
}
@@ -1149,7 +1149,7 @@
if (EventDebug(EDBUG_TYPE_SNAPS))
Eprintf("Snap get einf %#lx: %4d+%4d %4dx%4d: %s\n",
ewin->client.win, ewin->client.x, ewin->client.y,
- ewin->client.w, ewin->client.h, EwinGetTitle(ewin));
+ ewin->client.w, ewin->client.h, EwinGetName(ewin));
}
EDBUG_RETURN(0);
}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/main.c,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -3 -r1.104 -r1.105
--- main.c 31 Dec 2004 13:49:08 -0000 1.104
+++ main.c 9 Jan 2005 22:36:01 -0000 1.105
@@ -234,6 +234,9 @@
/* Unmap the clients */
MapUnmap(0);
+ /* Flush (get rid of unmap events) */
+ XSync(disp, True);
+
ModulesSignal(ESIGNAL_INIT, NULL);
/* Move elsewhere... */
@@ -251,10 +254,6 @@
/* Set root window cursor */
ECsrApply(ECSR_ROOT, VRoot.win);
-#if 0
- CheckEvent();
-#endif
-
#ifdef USE_EXT_INIT_WIN
/* Kill the E process owning the "init window" */
if (Mode.wm.master && init_win_ext)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/menus-misc.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- menus-misc.c 28 Dec 2004 23:46:46 -0000 1.2
+++ menus-misc.c 9 Jan 2005 22:36:01 -0000 1.3
@@ -605,11 +605,11 @@
lst = EwinListGetAll(&num);
for (i = 0; i < num; i++)
{
- if (lst[i]->skipwinlist || !EwinGetTitle(lst[i]))
+ if (lst[i]->skipwinlist || !EwinGetName(lst[i]))
continue;
Esnprintf(s, sizeof(s), "wop %#lx focus", lst[i]->client.win);
- mi = MenuItemCreate(EwinGetTitle(lst[i]), NULL, s, NULL);
+ mi = MenuItemCreate(EwinGetName(lst[i]), NULL, s, NULL);
MenuAddItem(m, mi);
}
@@ -633,7 +633,7 @@
lst = EwinListGetAll(&num);
for (i = 0; i < num; i++)
{
- if (lst[i]->skipwinlist || !EwinGetTitle(lst[i]) ||
+ if (lst[i]->skipwinlist || !EwinGetName(lst[i]) ||
EoGetDesk(lst[i]) != j)
continue;
@@ -670,12 +670,12 @@
MenuAddItem(mm, mi);
for (i = 0; i < num; i++)
{
- if (lst[i]->skipwinlist || !EwinGetTitle(lst[i]) ||
+ if (lst[i]->skipwinlist || !EwinGetName(lst[i]) ||
EoGetDesk(lst[i]) != j)
continue;
Esnprintf(s, sizeof(s), "wop %#lx focus", lst[i]->client.win);
- mi = MenuItemCreate(EwinGetTitle(lst[i]), NULL, s, NULL);
+ mi = MenuItemCreate(EwinGetName(lst[i]), NULL, s, NULL);
MenuAddItem(mm, mi);
}
Esnprintf(s, sizeof(s), _("Desktop %i"), j);
@@ -744,7 +744,7 @@
{
Esnprintf(s, sizeof(s), "wop %#lx focus",
lst[i]->members[j]->client.win);
- mi = MenuItemCreate(EwinGetTitle(lst[i]->members[j]), NULL,
+ mi = MenuItemCreate(EwinGetName(lst[i]->members[j]), NULL,
s, NULL);
MenuAddItem(mm, mi);
}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v
retrieving revision 1.158
retrieving revision 1.159
diff -u -3 -r1.158 -r1.159
--- menus.c 31 Dec 2004 13:07:03 -0000 1.158
+++ menus.c 9 Jan 2005 22:36:01 -0000 1.159
@@ -391,7 +391,7 @@
Mode_menus.context_ewin = GetContextEwin();
#if 0
Eprintf("Mode_menus.context_ewin set %s\n",
- EwinGetTitle(Mode_menus.context_ewin));
+ EwinGetName(Mode_menus.context_ewin));
#endif
ecore_x_sync();
#if 1 /* ??? */
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/session.c,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -3 -r1.82 -r1.83
--- session.c 2 Jan 2005 09:42:35 -0000 1.82
+++ session.c 9 Jan 2005 22:36:01 -0000 1.83
@@ -286,7 +286,7 @@
if (EventDebug(EDBUG_TYPE_SNAPS))
Eprintf("Snap get sess %#lx: %4d+%4d %4dx%4d: %s\n",
ewin->client.win, ewin->client.x, ewin->client.y,
- ewin->client.w, ewin->client.h, EwinGetTitle(ewin));
+ ewin->client.w, ewin->client.h, EwinGetName(ewin));
break;
}
}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/snaps.c,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -3 -r1.74 -r1.75
--- snaps.c 28 Dec 2004 23:46:47 -0000 1.74
+++ snaps.c 9 Jan 2005 22:36:01 -0000 1.75
@@ -1245,7 +1245,7 @@
if (EventDebug(EDBUG_TYPE_SNAPS))
Eprintf("Snap get snap %#lx: %4d+%4d %4dx%4d: %s\n",
ewin->client.win, ewin->client.x, ewin->client.y,
- ewin->client.w, ewin->client.h, EwinGetTitle(ewin));
+ ewin->client.w, ewin->client.h, EwinGetName(ewin));
}
/* make a client window conform to snapshot info */
@@ -1271,7 +1271,7 @@
if (EventDebug(EDBUG_TYPE_SNAPS))
Eprintf("RememberImportantInfoForEwin %#lx %s\n",
- ewin->client.win, EwinGetTitle(ewin));
+ ewin->client.win, EwinGetName(ewin));
SnapshotEwinBorder(ewin);
SnapshotEwinDesktop(ewin);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/warp.c,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -3 -r1.50 -r1.51
--- warp.c 28 Dec 2004 23:46:47 -0000 1.50
+++ warp.c 9 Jan 2005 22:36:01 -0000 1.51
@@ -105,7 +105,7 @@
EMapWindow(disp, warplist[warplist_num - 1].win);
warplist[warplist_num - 1].ewin = lst[i];
Esnprintf(s, sizeof(s), (lst[i]->iconified) ? "[%s]" : "%s",
- EwinGetTitle(lst[i]));
+ EwinGetName(lst[i]));
warplist[warplist_num - 1].txt = strdup(s);
TextSize(tc, 0, 0, 0, warplist[warplist_num - 1].txt, &ww,
&hh, 17);
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs