From 2c8355bf263475bf2f8fb7a07bef4290ca6c166e Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 18 Sep 2014 15:21:14 +0000 Subject: fix flicker --- Sgraph.c | 13 ++++++++++++- spectrogram.c | 1 - 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Sgraph.c b/Sgraph.c index bd4699b..b06544f 100644 --- a/Sgraph.c +++ b/Sgraph.c @@ -271,7 +271,18 @@ Redisplay(Widget w, XEvent *event, Region r) static Boolean SetValues(Widget old, Widget reference, Widget new, ArgList args, Cardinal *num_args) { - return True; + XExposeEvent xeev; + + xeev.type = Expose; + xeev.display = XtDisplay(new); + xeev.window = XtWindow(new); + xeev.x = 0; + xeev.y = 0; + xeev.width = new->core.width; + xeev.height = new->core.height; + Redisplay(new, (XEvent *)&xeev, NULL); + + return False; } static void diff --git a/spectrogram.c b/spectrogram.c index f45ba21..da3f6e6 100644 --- a/spectrogram.c +++ b/spectrogram.c @@ -91,7 +91,6 @@ worker(XtPointer data) n = 0; XtSetArg(arg[n], XtNsize, size); n++; XtSetValues(data, arg, n); /* trigger expose */ - //redisplay(XtDisplay(data), XtWindow(data)); usleep(40); /* emulate 25 Hz */ return False; /* don't remove the work procedure from the list */ -- cgit v1.2.3