Load marker from callback in GisPluginTest
authorAndy Spencer <andy753421@gmail.com>
Mon, 3 May 2010 05:16:43 +0000 (05:16 +0000)
committerAndy Spencer <andy753421@gmail.com>
Mon, 3 May 2010 05:16:55 +0000 (05:16 +0000)
src/plugins/test.c

index 4dbc838..92b5886 100644 (file)
 /***********
  * Methods *
  ***********/
+gboolean _load_marker(gpointer _test)
+{
+       GisPluginTest *test = _test;
+       GisMarker *marker = gis_marker_new("St. Charles");
+       gis_point_set_lle(gis_object_center(marker), 38.841847, -90.491982, 0);
+       GIS_OBJECT(marker)->lod = EARTH_R;
+       test->marker = gis_viewer_add(test->viewer, GIS_OBJECT(marker), GIS_LEVEL_OVERLAY, 0);
+       return FALSE;
+}
 /**
  * gis_plugin_test_new:
  * @viewer: the #GisViewer to use for drawing
@@ -47,12 +56,7 @@ GisPluginTest *gis_plugin_test_new(GisViewer *viewer)
        g_debug("GisPluginTest: new");
        GisPluginTest *test = g_object_new(GIS_TYPE_PLUGIN_TEST, NULL);
        test->viewer = g_object_ref(viewer);
-
-       GisMarker *marker = gis_marker_new("St. Charles");
-       gis_point_set_lle(gis_object_center(marker), 38.841847, -90.491982, 0);
-       GIS_OBJECT(marker)->lod = EARTH_R;
-       test->marker = gis_viewer_add(test->viewer, GIS_OBJECT(marker), GIS_LEVEL_OVERLAY, 0);
-
+       g_idle_add(_load_marker, test);
        return test;
 }