Diff of /trunk/src/project.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 304 by harbaum, Sat Sep 26 08:45:20 2009 UTC revision 305 by harbaum, Wed Oct 7 14:17:52 2009 UTC
# Line 1341  gboolean project_load(appdata_t *appdata Line 1341  gboolean project_load(appdata_t *appdata
1341    
1342    /* close current project */    /* close current project */
1343    banner_busy_tick();    banner_busy_tick();
1344    
1345    if(appdata->project)    if(appdata->project)
1346      project_close(appdata);      project_close(appdata);
1347    
1348    /* open project itself */    /* open project itself */
1349    banner_busy_tick();    banner_busy_tick();
1350    
1351    if(!project_open(appdata, proj_name)) {    if(!project_open(appdata, proj_name)) {
1352      printf("error opening requested project\n");      printf("error opening requested project\n");
1353    
# Line 1368  gboolean project_load(appdata_t *appdata Line 1370  gboolean project_load(appdata_t *appdata
1370      return FALSE;      return FALSE;
1371    }    }
1372    
1373      if(!appdata->window) {
1374        g_free(proj_name);
1375        return FALSE;
1376      }
1377    
1378    /* check if OSM data is valid */    /* check if OSM data is valid */
1379    banner_busy_tick();    banner_busy_tick();
1380    if(!osm_sanity_check(GTK_WIDGET(appdata->window), appdata->osm)) {    if(!osm_sanity_check(GTK_WIDGET(appdata->window), appdata->osm)) {
# Line 1394  gboolean project_load(appdata_t *appdata Line 1401  gboolean project_load(appdata_t *appdata
1401    
1402    /* load diff possibly preset */    /* load diff possibly preset */
1403    banner_busy_tick();    banner_busy_tick();
1404      if(!appdata->window) goto fail;
1405    
1406    diff_restore(appdata, appdata->project, appdata->osm);    diff_restore(appdata, appdata->project, appdata->osm);
1407    
1408    /* prepare colors etc, draw data and adjust scroll/zoom settings */    /* prepare colors etc, draw data and adjust scroll/zoom settings */
1409    banner_busy_tick();    banner_busy_tick();
1410      if(!appdata->window) goto fail;
1411    
1412    map_init(appdata);    map_init(appdata);
1413    
1414    /* restore a track */    /* restore a track */
1415    banner_busy_tick();    banner_busy_tick();
1416      if(!appdata->window) goto fail;
1417    
1418    appdata->track.track = track_restore(appdata, appdata->project);    appdata->track.track = track_restore(appdata, appdata->project);
1419    if(appdata->track.track)    if(appdata->track.track)
1420      map_track_draw(appdata->map, appdata->track.track);      map_track_draw(appdata->map, appdata->track.track);
1421    
1422    /* finally load a background if present */    /* finally load a background if present */
1423    banner_busy_tick();    banner_busy_tick();
1424      if(!appdata->window) goto fail;
1425    wms_load(appdata);    wms_load(appdata);
1426    
1427    /* save the name of the project for the perferences */    /* save the name of the project for the perferences */
# Line 1427  gboolean project_load(appdata_t *appdata Line 1441  gboolean project_load(appdata_t *appdata
1441    g_free(proj_name);    g_free(proj_name);
1442    
1443    return TRUE;    return TRUE;
1444    
1445     fail:
1446      printf("project loading interrupted by user\n");
1447    
1448      if(appdata->project) {
1449        project_free(appdata->project);
1450        appdata->project = NULL;
1451      }
1452    
1453      if(appdata->osm) {
1454        osm_free(&appdata->icon, appdata->osm);
1455        appdata->osm = NULL;
1456      }
1457    
1458      g_free(proj_name);
1459    
1460      return FALSE;
1461  }  }
1462    
1463  /* ------------------- project setup wizard ----------------- */  /* ------------------- project setup wizard ----------------- */

Legend:
Removed from v.304  
changed lines
  Added in v.305