]> git.tdb.fi Git - r2c2.git/blobdiff - source/engineer/engineer.cpp
Fix a segfault in removing vehicles when creating a new train
[r2c2.git] / source / engineer / engineer.cpp
index 68b85aa04cf3c3acdc8c89bd438b3ffcc75a5400..7e13f7b50471ad61261f43a8cfa7608ede759a9d 100644 (file)
@@ -67,7 +67,7 @@ Engineer::Engineer(int argc, char **argv):
        root->signal_pointer_motion.connect(sigc::mem_fun(this, &Engineer::pointer_motion));
        root->set_visible(true);
 
-       main_panel = new MainPanel(*this, ui_res);
+       main_panel = new MainPanel(*this);
        root->add(*main_panel);
        main_panel->set_position(0, window.get_height()-main_panel->get_geometry().h);
        main_panel->set_visible(true);
@@ -219,7 +219,7 @@ void Engineer::tick()
                                delete picking_path;
                                picking_path = new Path3D(*track);
                                if(picking_entry>=0)
-                                       picking_path->set_mask(picking_track->get_type().get_endpoints()[picking_entry].paths);
+                                       picking_path->set_mask(picking_track->get_type().get_endpoint(picking_entry).paths);
                                else
                                        picking_path->set_mask(picking_track->get_type().get_paths());
                                picking_path->set_color(GL::Color(0));
@@ -271,7 +271,7 @@ void Engineer::button_press(int x, int y, unsigned btn, unsigned)
                else if(btn==3 && picking_entry>=0)
                {
                        picking_entry = (picking_entry+1)%picking_track->get_type().get_endpoints().size();
-                       picking_path->set_mask(picking_track->get_type().get_endpoints()[picking_entry].paths);
+                       picking_path->set_mask(picking_track->get_type().get_endpoint(picking_entry).paths);
                }
        }
        else
@@ -428,7 +428,7 @@ Track3D *Engineer::pick_track(int x, int y)
 
 void Engineer::train_added(Train &train)
 {
-       TrainPanel *tpanel = new TrainPanel(*this, ui_res, train);
+       TrainPanel *tpanel = new TrainPanel(*this, train);
        root->add(*tpanel);
        train_panels.push_back(tpanel);
        rearrange_panels();