diff --git a/src/ChangeLog b/src/ChangeLog index c09791c6..0d35b1a7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -2211,3 +2211,11 @@ Wed Sep 22 15:41:28 PDT 1999 (Raster) some more multihead fixes... + +------------------------------------------------------------------------------- + +Wed Sep 22 16:08:01 PDT 1999 +(Raster) + +make the memory debugging stuff better commented - and add ipc call tyo +dump mem debug info diff --git a/src/events.c b/src/events.c index 476d64cb..31583845 100644 --- a/src/events.c +++ b/src/events.c @@ -579,7 +579,6 @@ HButtonPress(XEvent * ev) ApplySclass(FindItem("SOUND_BUTTON_CLICK", 0, LIST_FINDBY_NAME, LIST_TYPE_SCLASS)); HandleMouseDown(ev); - EDisplayMemUse(); #if 0 { int x, y, maxh = 0, count = 0, mcount = 0, ww, hh; diff --git a/src/ipc.c b/src/ipc.c index 1127fb79..47b0e23d 100644 --- a/src/ipc.c +++ b/src/ipc.c @@ -55,6 +55,7 @@ void IPC_GeneralInfo(char *params, Client * c); void IPC_Modules(char *params, Client * c); void IPC_DockPosition(char *params, Client * c); void IPC_KDE(char *params, Client * c); +void IPC_MemDebug(char *params, Client * c); /* Changes By Asmodean_ / #E@Efnet * @@ -533,6 +534,17 @@ IPCStruct IPCArray[] = "kde", "Turns on and off KDE support", "use \"kde on\" and \"kde off\" to enable/disable support" + }, + { + IPC_MemDebug, + "dump_mem_debug", + "Dumps memory debugging information out to e.mem.out", + "Use this command to have E dump its current memory debugging table\n" + "to the e.mem.out file. NOTE: please read comments at the top of\n" + "memory.c to see how to enable this. This will let you hunt memory\n" + "leaks, over-allocations of memory, and other memory-related problems\n" + "very easily with all pointers allocated stamped with a time, call\n" + "tree that led to that allocation, file and line, and the chunk size.\n" } }; @@ -4898,3 +4910,12 @@ IPC_Group(char *params, Client * c) return; } + +void +IPC_MemDebug(char *params, Client * c) +{ + EDisplayMemUse(); + return; + params = NULL; + c = NULL; +} diff --git a/src/kde.c b/src/kde.c index ae25d1d9..4638604d 100644 --- a/src/kde.c +++ b/src/kde.c @@ -77,7 +77,7 @@ KModuleList; static KModuleList *KModules = NULL; -void +void KDE_ClientMessage(Window win, Atom atom, long data, Time timestamp) { @@ -100,7 +100,7 @@ KDE_ClientMessage(Window win, Atom atom, long data, Time timestamp) } -void +void KDE_ClientTextMessage(Window win, Atom atom, char *data) { @@ -122,7 +122,7 @@ KDE_ClientTextMessage(Window win, Atom atom, char *data) } -void +void KDE_SendMessagesToModules(Atom atom, long data) { @@ -141,7 +141,7 @@ KDE_SendMessagesToModules(Atom atom, long data) } -void +void KDE_UpdateFocusedWindow(void) { @@ -190,7 +190,7 @@ KDE_UpdateFocusedWindow(void) } -void +void KDE_NewWindow(EWin * ewin) { @@ -245,7 +245,7 @@ KDE_NewWindow(EWin * ewin) } -void +void KDE_RemoveWindow(EWin * ewin) { @@ -275,7 +275,7 @@ KDE_RemoveWindow(EWin * ewin) } -void +void KDE_AddModule(Window win) { @@ -410,7 +410,7 @@ KDE_AddModule(Window win) } -void +void KDE_RemoveModule(Window win) { @@ -465,7 +465,7 @@ KDE_RemoveModule(Window win) } -void +void KDE_Init(void) { /* @@ -586,7 +586,7 @@ KDE_Init(void) } -void +void KDE_Shutdown(void) { @@ -656,7 +656,7 @@ KDE_Shutdown(void) } -void +void KDE_ClientInit(Window win) { @@ -689,7 +689,7 @@ KDE_ClientInit(Window win) } -void +void KDE_ClientChange(Window win, Atom a) { @@ -782,7 +782,7 @@ KDE_ClientChange(Window win, Atom a) } -void +void KDE_GetDecorationHint(Window win, long *dechints) { @@ -852,7 +852,7 @@ KDE_GetDecorationHint(Window win, long *dechints) } -void +void KDE_CheckClientHints(Window win) { @@ -875,7 +875,7 @@ KDE_CheckClientHints(Window win) } -int +int KDE_WindowCommand(EWin * ewin, char *cmd) { @@ -931,7 +931,7 @@ KDE_WindowCommand(EWin * ewin, char *cmd) } -void +void KDE_Command(char *cmd, XClientMessageEvent * event) { @@ -1010,7 +1010,7 @@ KDE_Command(char *cmd, XClientMessageEvent * event) } -void +void KDE_ProcessClientMessage(XClientMessageEvent * event) { @@ -1074,7 +1074,7 @@ KDE_ProcessClientMessage(XClientMessageEvent * event) } -void +void KDE_ModuleAssert(Window win) { @@ -1088,7 +1088,7 @@ KDE_ModuleAssert(Window win) } -void +void KDE_PrepModuleEvent(Window win, KMessage msg) { @@ -1137,7 +1137,7 @@ KDE_PrepModuleEvent(Window win, KMessage msg) } -void +void KDE_SetRootArea(void) { @@ -1156,7 +1156,7 @@ KDE_SetRootArea(void) } -void +void KDE_SetNumDesktops(void) { @@ -1192,7 +1192,7 @@ KDE_SetNumDesktops(void) EDBUG_RETURN_; } -void +void KDE_HintChange(Atom a) { @@ -1216,7 +1216,7 @@ KDE_HintChange(Atom a) } -void +void KDE_UpdateClient(EWin * ewin) { diff --git a/src/memory.c b/src/memory.c index 22cf54b3..f43fe1d7 100644 --- a/src/memory.c +++ b/src/memory.c @@ -1,7 +1,21 @@ #include "E.h" -/*#define DBUG_MEM 1 */ +/* uncomment DBUG_MEM to get rudamentary pointer checking */ +/* uncomment MEM_OUT to get full debug output. to make this work you have to */ +/* put a file in the directory (cwd) you run E from calle e.sym */ +/* to generate the e.sym file do: */ + /* */ + /* nm enlightenment | grep " T " > e.sym */ + /* nm enlightenment | grep " t " > e.sym2 */ + /* cat e.sym >> e.sym2 */ + /* sort < e.sym2 > e.sym */ + /* rm e.sym2 */ + /* */ +/* do that whenever you recompile enlightenment and place the e.sym file in */ +/* the current working directory of enlightenment */ +/* */ +/*#define DBUG_MEM 1 */ /*#define MEM_OUT 1 */ #ifdef DBUG_MEM