Revision: 58296 http://sourceforge.net/p/brlcad/code/58296 Author: bob1961 Date: 2013-10-25 17:10:32 +0000 (Fri, 25 Oct 2013) Log Message: ----------- Updated ged_reopen to properly set the rt material head. This would have impacted Archer and its ilk.
Modified Paths: -------------- brlcad/trunk/src/libged/open.c Modified: brlcad/trunk/src/libged/open.c =================================================================== --- brlcad/trunk/src/libged/open.c 2013-10-25 13:27:20 UTC (rev 58295) +++ brlcad/trunk/src/libged/open.c 2013-10-25 17:10:32 UTC (rev 58296) @@ -36,7 +36,7 @@ int ged_reopen(struct ged *gedp, int argc, const char *argv[]) { - struct db_i *dbip; + struct db_i *new_dbip; static const char *usage = "[filename]"; GED_CHECK_DATABASE_OPEN(gedp, GED_ERROR); @@ -54,12 +54,25 @@ /* set database filename */ if (argc == 2) { char *av[2]; + struct db_i *old_dbip = gedp->ged_wdbp->dbip; + struct mater *old_materp = rt_material_head(); + struct mater *new_materp; - if ((dbip = _ged_open_dbip(argv[1], 0)) == DBI_NULL) { + rt_new_material_head(MATER_NULL); + + if ((new_dbip = _ged_open_dbip(argv[1], 0)) == DBI_NULL) { + /* Restore RT's material head */ + rt_new_material_head(old_materp); + bu_vls_printf(gedp->ged_result_str, "ged_reopen: failed to open %s\n", argv[1]); return GED_ERROR; } + new_materp = rt_material_head(); + + gedp->ged_wdbp->dbip = old_dbip; + rt_new_material_head(old_materp); + av[0] = "zap"; av[1] = (char *)0; ged_zap(gedp, 1, (const char **)av); @@ -67,7 +80,8 @@ /* close current database */ db_close(gedp->ged_wdbp->dbip); - gedp->ged_wdbp->dbip = dbip; + gedp->ged_wdbp->dbip = new_dbip; + rt_new_material_head(new_materp); bu_vls_printf(gedp->ged_result_str, "%s", gedp->ged_wdbp->dbip->dbi_filename); return GED_OK; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk _______________________________________________ BRL-CAD Source Commits mailing list brlcad-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-commits