From aa11dfe12708fb6a797b345573fd1b8cc71c3233 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Mon, 29 Sep 2014 12:23:27 +0000 Subject: remove flicker --- Display.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'Display.c') diff --git a/Display.c b/Display.c index c8d866b..1e73179 100644 --- a/Display.c +++ b/Display.c @@ -57,7 +57,6 @@ DisplayClassRec displayClassRec = { .visible_interest = False, .destroy = NULL, .resize = Resize, - //.expose = XtInheritExpose, .expose = Redisplay, .set_values = SetValues, .set_values_hook = NULL, @@ -72,7 +71,7 @@ DisplayClassRec displayClassRec = { .extension = NULL, }, .composite_class = { - .geometry_manager = GeometryManager, + .geometry_manager = XtInheritGeometryManager, .change_managed = ChangeManaged, .insert_child = XtInheritInsertChild, .delete_child = XtInheritDeleteChild, @@ -180,5 +179,17 @@ Redisplay(Widget w, XEvent *event, Region region) static Boolean SetValues(Widget old, Widget req, Widget new, ArgList args, Cardinal *n) { - 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; + + XtClass(new)->core_class.expose(new, (XEvent *)&xeev, NULL); + + return False; } -- cgit v1.2.3