aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2014-09-14 22:48:26 +0000
committerDimitri Sokolyuk <demon@dim13.org>2014-09-14 22:48:26 +0000
commit04dfbe4e1b0470ef59c9e414baadc77f11aacbf6 (patch)
treeaffa06289ff9c403d22a4b24eb14fa01dd86bc36
parentfe084caaf0a8f4270ce3f814003b86d221fca6ea (diff)
readd custom RealizeProc
-rw-r--r--Sgraph.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/Sgraph.c b/Sgraph.c
index f382082..5e304ac 100644
--- a/Sgraph.c
+++ b/Sgraph.c
@@ -23,6 +23,7 @@
#include <err.h>
static void Initialize(Widget request, Widget w, ArgList args, Cardinal *nargs);
+static void Realize(Widget w, XtValueMask *mask, XSetWindowAttributes *attr);
static void Action(Widget w, XEvent *event, String *params, Cardinal *num_params);
static void Resize(Widget w);
static void Redisplay(Widget w, XEvent *event, Region r);
@@ -77,7 +78,7 @@ SgraphClassRec sgraphClassRec = {
False, /* class_inited */
Initialize, /* initialize */
NULL, /* initialize_hook */
- XtInheritRealize, /* realize */
+ Realize, /* realize */
actions, /* actions */
XtNumber(actions), /* num_actions */
resources, /* resources */
@@ -147,6 +148,13 @@ Initialize(Widget request, Widget w, ArgList args, Cardinal *nargs)
}
static void
+Realize(Widget w, XtValueMask *mask, XSetWindowAttributes *attr)
+{
+ XtCreateWindow(w, InputOutput, CopyFromParent, *mask, attr);
+ Resize(w);
+}
+
+static void
Resize(Widget w)
{
SgraphWidget sw = (SgraphWidget)w;
@@ -192,8 +200,6 @@ Redisplay(Widget w, XEvent *event, Region r)
warnx("Redisplay");
- Resize(w);
-
XFillRectangle(XtDisplay(sw), XtWindow(sw), sw->sgraph.backGC,
BORDER, BORDER,
width - 2 * BORDER, height - 2 * BORDER);