From 932cfc1bd4eafc823b083ebee77585a2f7c03bfa Mon Sep 17 00:00:00 2001 From: id Date: Sun, 3 Dec 2000 14:04:08 +0000 Subject: [PATCH] drawstring plugin and a small change in vdesk --- src/framewin.c | 24 ++++++++++++++++-------- src/plugin.c | 7 +++---- src/workspace.c | 4 ++-- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/framewin.c b/src/framewin.c index 3542ea30..467ce426 100644 --- a/src/framewin.c +++ b/src/framewin.c @@ -1082,16 +1082,24 @@ wFrameWindowPaint(WFrameWindow *fwin) fwin->title_pixel[fwin->flags.state]); #ifdef DRAWSTRING_PLUGIN - if (scr->drawstring_func[fwin->flags.state + fwin->drawstring_proc_offset]) { - scr->drawstring_func[fwin->flags.state + fwin->drawstring_proc_offset]-> - proc.drawString(scr->drawstring_func[fwin->flags.state - + fwin->drawstring_proc_offset]->arg, fwin->titlebar->window, - x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE, - fwin->titlebar->width, fwin->top_width, - fwin->title, wPluginPackData(2, *fwin->title_gc, *fwin->font)); +#define DRAWSTRING_CURRENT_STATE fwin->flags.state + fwin->drawstring_proc_offset + if (scr->drawstring_func[DRAWSTRING_CURRENT_STATE]) { + void **p = wPluginPackData(4, + *fwin->title_gc, + *fwin->font, + scr->drawstring_func[DRAWSTRING_CURRENT_STATE]->data, + "extendable"); + scr->drawstring_func[DRAWSTRING_CURRENT_STATE]->proc.drawString( + scr->drawstring_func[DRAWSTRING_CURRENT_STATE]->arg, + fwin->titlebar->window, + x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE, + fwin->titlebar->width, fwin->top_width, + fwin->title, p); + free(p); } else { WMDrawString(scr->wmscreen, fwin->titlebar->window, - *fwin->title_gc, *fwin->font, x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE, + *fwin->title_gc, *fwin->font, + x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE, title, titlelen); } #else diff --git a/src/plugin.c b/src/plugin.c index db8bf7ce..7d92811d 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -101,6 +101,7 @@ wPluginCreateFunction(int type, char *library_name, if (pl_arg) function->arg = PLDeepCopy(pl_arg); function->data = init_data; + printf("init data %x\n", function->data); if (init_proc_name) { initProc = dlsym(function->handle, init_proc_name); if (initProc) { @@ -123,11 +124,9 @@ wPluginDestroyFunction(WFunction *function) return; if (function->data) { - if (function->freeData) { + if (function->freeData) function->freeData(function->arg, &function->data); - } else { - wfree(function->data); - } + wfree(function->data); } if (function->arg) PLRelease(function->arg); wfree(function); diff --git a/src/workspace.c b/src/workspace.c index c76a12ce..b2b81b5a 100644 --- a/src/workspace.c +++ b/src/workspace.c @@ -652,11 +652,11 @@ void wWorkspaceManageEdge(WScreen *scr) int vmask; XSetWindowAttributes attribs; - puts("wWorkspaceManageEdge()"); + /* puts("wWorkspaceManageEdge()"); */ if (wPreferences.vedge_thickness) { initVDesk = True; for (w = 0; w < scr->workspace_count; w++) { - puts("reset workspace"); + /* puts("reset workspace"); */ wWorkspaceSetViewPort(scr, w, 0, 0); } -- 2.11.4.GIT