From b9dd97e38364f7477a4e9e40e65bcc20f1c09361 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 24 Nov 2010 14:53:36 -0500 Subject: [PATCH] fixed timekeeping, update event invalidates gdk window --- dwss.cc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dwss.cc b/dwss.cc index 9debf9a..c5b0f89 100644 --- a/dwss.cc +++ b/dwss.cc @@ -46,6 +46,7 @@ #include "gs-theme-window.h" static gchar *geometry = NULL; +static GtkWidget *drawing_area; static GOptionEntry options[] = { {"geometry", 0, 0, G_OPTION_ARG_STRING, &geometry, @@ -60,7 +61,7 @@ static uint32_t getElapsedTime() { struct timeval tv; gettimeofday(&tv, NULL); - uint64_t msec = tv.tv_sec + tv.tv_usec / 1000; + uint64_t msec = tv.tv_sec * 1000 + tv.tv_usec / 1000; return msec - start_msec; } @@ -133,6 +134,11 @@ configure (GtkWidget *da, GdkEventConfigure *event, gpointer user_data) static gboolean update (void *user_data) { + GdkRectangle rect; + GdkWindow *win = gtk_widget_get_parent_window(drawing_area); + rect.x = rect.y = 0; + gdk_window_get_geometry(win, NULL, NULL, &rect.width, &rect.height, NULL); + gdk_window_invalidate_rect(win, &rect, TRUE); return TRUE; } @@ -141,7 +147,6 @@ main (int argc, char *argv[]) { GtkWidget *window; - GtkWidget *drawing_area; GdkGLConfig *glconfig; GtkStateType state; @@ -207,7 +212,7 @@ main (int argc, struct timeval tv; gettimeofday(&tv, NULL); - start_msec = tv.tv_sec + tv.tv_usec / 1000; + start_msec = tv.tv_sec * 1000 + tv.tv_usec / 1000; gtk_main ();