RadarSite *site = g_new0(RadarSite, 1);
site->viewer = g_object_ref(viewer);
site->prefs = g_object_ref(prefs);
- site->http = http;
+ //site->http = http;
+ site->http = gis_http_new(G_DIR_SEPARATOR_S "nexrad" G_DIR_SEPARATOR_S "level2" G_DIR_SEPARATOR_S);
site->city = city;
site->pconfig = pconfig;
gis_viewer_remove(site->viewer, site->marker_ref);
if (site->location_id)
g_signal_handler_disconnect(site->viewer, site->location_id);
+ gis_http_free(site->http);
g_object_unref(site->viewer);
g_object_unref(site->prefs);
g_free(site);
/* Load and pixbuf */
GError *error = NULL;
GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(conus->path, &error);
- guchar *pixels = gdk_pixbuf_get_pixels(pixbuf);
- gint width = gdk_pixbuf_get_width(pixbuf);
- gint height = gdk_pixbuf_get_height(pixbuf);
- gint pxsize = gdk_pixbuf_get_has_alpha(pixbuf) ? 4 : 3;
+ if (!pixbuf || error) {
+ g_warning("GisPluginRadar: _conus_update_end - error loading pixbuf");
+ _gtk_bin_set_child(GTK_BIN(conus->config), gtk_label_new("Error loading pixbuf"));
+ g_remove(conus->path);
+ goto out;
+ }
/* Split pixels into east/west parts */
+ guchar *pixels = gdk_pixbuf_get_pixels(pixbuf);
+ gint width = gdk_pixbuf_get_width(pixbuf);
+ gint height = gdk_pixbuf_get_height(pixbuf);
+ gint pxsize = gdk_pixbuf_get_has_alpha(pixbuf) ? 4 : 3;
guchar *pixels_west = g_malloc(4*(width/2)*height);
guchar *pixels_east = g_malloc(4*(width/2)*height);
_conus_update_end_split(pixels, pixels_west, pixels_east,
self->sites = g_hash_table_new_full(g_str_hash, g_str_equal,
NULL, (GDestroyNotify)radar_site_free);
self->config = gtk_notebook_new();
- gtk_notebook_set_tab_pos(GTK_NOTEBOOK(self->config), GTK_POS_LEFT);
+ /* Need to position on the top because of Win32 bug */
+ gtk_notebook_set_tab_pos(GTK_NOTEBOOK(self->config), GTK_POS_BOTTOM);
}
static void gis_plugin_radar_dispose(GObject *gobject)
{