From 128608a085fd2a66e8145868c30b05c5c6e1cc3b Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Wed, 2 Sep 2009 13:27:59 +0000 Subject: [PATCH] Moving -Werror to gen.sh, improving wms_test --- gen.sh | 2 +- src/Makefile.am | 2 +- src/gis/Makefile.am | 2 +- src/gis/wms.c | 2 +- src/gis/wms_test.c | 74 ++++++++++++++++++++++++----------------- src/plugins/Makefile.am | 2 +- 6 files changed, 49 insertions(+), 35 deletions(-) diff --git a/gen.sh b/gen.sh index cc9042c..c883ff8 100755 --- a/gen.sh +++ b/gen.sh @@ -1,6 +1,6 @@ #!/bin/bash dir=$(dirname $(readlink -f $0)) -CFLAGS="-g" \ +CFLAGS="-g -Werror -Wno-unused" \ ./autogen.sh \ "--libdir=$dir/src/plugins" \ "--datadir=$dir/data" \ diff --git a/src/Makefile.am b/src/Makefile.am index 01465d4..96c7a6c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,6 +1,6 @@ SUBDIRS = gis plugins -AM_CFLAGS = -Wall -Werror -Wno-unused --std=gnu99 +AM_CFLAGS = -Wall --std=gnu99 AM_CPPFLAGS = $(GLIB_CFLAGS) $(GTK_CFLAGS) $(SOUP_CFLAGS) AM_LDADD = $(GLIB_LIBS) $(GTK_LIBS) $(SOUP_LIBS) diff --git a/src/gis/Makefile.am b/src/gis/Makefile.am index c9fefe7..3a5b740 100644 --- a/src/gis/Makefile.am +++ b/src/gis/Makefile.am @@ -1,4 +1,4 @@ -AM_CFLAGS = -Wall -Werror -Wno-unused --std=gnu99 +AM_CFLAGS = -Wall --std=gnu99 AM_CPPFLAGS = $(GLIB_CFLAGS) $(GTK_CFLAGS) $(SOUP_CFLAGS) AM_LDADD = $(GLIB_LIBS) $(GTK_LIBS) $(SOUP_LIBS) diff --git a/src/gis/wms.c b/src/gis/wms.c index f62928d..51f69bc 100644 --- a/src/gis/wms.c +++ b/src/gis/wms.c @@ -478,7 +478,7 @@ void srtm_pixbuf_loader(WmsCacheNode *node, const gchar *path, gint width, gint gint stride = gdk_pixbuf_get_rowstride(pixbuf); gint16 *data; - gchar **char_data = (gchar**)char_data; + gchar **char_data = (gchar**)&data; g_file_get_contents(path, char_data, NULL, NULL); for (int r = 0; r < height; r++) { for (int c = 0; c < width; c++) { diff --git a/src/gis/wms_test.c b/src/gis/wms_test.c index 45476c4..3ea977e 100644 --- a/src/gis/wms_test.c +++ b/src/gis/wms_test.c @@ -3,22 +3,34 @@ #include "wms.h" -/*********** - * Testing * - ***********/ -GtkWidget *image = NULL; -GtkWidget *bar = NULL; +struct CacheState { + GtkWidget *image; + GtkWidget *status; + GtkWidget *progress; +}; -void done_callback(WmsCacheNode *node, gpointer user_data) +void done_callback(WmsCacheNode *node, gpointer _state) { + struct CacheState *state = _state; g_message("done_callback: %p->%p", node, node->data); - gtk_image_set_from_pixbuf(GTK_IMAGE(image), node->data); + gtk_image_set_from_pixbuf(GTK_IMAGE(state->image), node->data); } -void chunk_callback(gsize cur, gsize total, gpointer user_data) +void chunk_callback(gsize cur, gsize total, gpointer _state) { + struct CacheState *state = _state; g_message("chunk_callback: %d/%d", cur, total); - gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(bar), (gdouble)cur/total); + + if (state->progress == NULL) { + state->progress = gtk_progress_bar_new(); + gtk_box_pack_end(GTK_BOX(state->status), state->progress, FALSE, FALSE, 0); + gtk_widget_show(state->progress); + } + + if (cur == total) + gtk_widget_destroy(state->progress); + else + gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(state->progress), (gdouble)cur/total); } gboolean key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer user_data) @@ -33,38 +45,40 @@ int main(int argc, char **argv) gtk_init(&argc, &argv); g_thread_init(NULL); - GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL); - GtkWidget *box = gtk_vbox_new(FALSE, 0); - GtkWidget *scroll = gtk_scrolled_window_new(NULL, NULL); - image = gtk_image_new(); - bar = gtk_progress_bar_new(); - gtk_container_add(GTK_CONTAINER(win), box); - gtk_box_pack_start(GTK_BOX(box), scroll, TRUE, TRUE, 0); - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll), image); - gtk_box_pack_start(GTK_BOX(box), bar, FALSE, FALSE, 0); + GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL); + GtkWidget *vbox1 = gtk_vbox_new(FALSE, 0); + GtkWidget *vbox2 = gtk_vbox_new(FALSE, 0); + GtkWidget *status = gtk_statusbar_new(); + GtkWidget *scroll = gtk_scrolled_window_new(NULL, NULL); + GtkWidget *bmng_image = gtk_image_new(); + GtkWidget *srtm_image = gtk_image_new(); + gtk_container_add(GTK_CONTAINER(win), vbox1); + gtk_box_pack_start(GTK_BOX(vbox1), scroll, TRUE, TRUE, 0); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scroll), vbox2); + gtk_box_pack_start(GTK_BOX(vbox2), bmng_image, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(vbox2), srtm_image, TRUE, TRUE, 0); + gtk_box_pack_start(GTK_BOX(vbox1), status, FALSE, FALSE, 0); g_signal_connect(win, "key-press-event", G_CALLBACK(key_press_cb), NULL); g_signal_connect(win, "destroy", gtk_main_quit, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gdouble res = 200, lon = -121.76, lat = 46.85; + struct CacheState bmng_state = {bmng_image, status, NULL}; + struct CacheState srtm_state = {srtm_image, status, NULL}; + + gdouble res = 200, lon = -101.76, lat = 46.85; - WmsInfo *info = wms_info_new_for_bmng(bmng_pixbuf_loader, bmng_pixbuf_freeer); - wms_info_cache(info, res, lat, lon, NULL, NULL, NULL); - WmsCacheNode *node = wms_info_fetch(info, res, lat, lon, NULL); - if (node) gtk_image_set_from_pixbuf(GTK_IMAGE(image), node->data); - wms_info_cache(info, res, lat, lon, NULL, done_callback, NULL); - wms_info_cache(info, res, lat, lon, chunk_callback, done_callback, NULL); + WmsInfo *bmng_info = wms_info_new_for_bmng(bmng_pixbuf_loader, bmng_pixbuf_freeer); + wms_info_cache(bmng_info, res, lat, lon, chunk_callback, done_callback, &bmng_state); - //WmsInfo *info = wms_info_new_for_srtm(srtm_pixbuf_loader, srtm_pixbuf_freeer); - //wms_info_cache(info, res, lat, lon, chunk_callback, NULL, NULL); - //WmsCacheNode *node = wms_info_fetch(info, res, lat, lon, NULL); - //if (node) gtk_image_set_from_pixbuf(GTK_IMAGE(image), node->data); + WmsInfo *srtm_info = wms_info_new_for_srtm(srtm_pixbuf_loader, srtm_pixbuf_freeer); + wms_info_cache(srtm_info, res, lat, lon, chunk_callback, done_callback, &srtm_state); gtk_widget_show_all(win); gtk_main(); - wms_info_free(info); + wms_info_free(bmng_info); + wms_info_free(srtm_info); return 0; } diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am index ca4b078..c7c60b2 100644 --- a/src/plugins/Makefile.am +++ b/src/plugins/Makefile.am @@ -1,4 +1,4 @@ -AM_CFLAGS = -Wall -Werror -Wno-unused --std=gnu99 -I../ +AM_CFLAGS = -Wall --std=gnu99 -I../ AM_CPPFLAGS = $(GLIB_CFLAGS) $(GTK_CFLAGS) $(SOUP_CFLAGS) AM_LDFLAGS = -module -avoid-version -- 2.43.2