From 38d377f4c43fa5493f32605209a5e8760216647f Mon Sep 17 00:00:00 2001 From: lethosor Date: Tue, 23 Jun 2015 21:21:21 -0400 Subject: [PATCH] Fix a few zone plugin crashes * Avoid checking building types of null pointers * Detect selected cages properly Fixes #646 --- plugins/zone.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/zone.cpp b/plugins/zone.cpp index 2f28a0e48..10ffcd3c8 100644 --- a/plugins/zone.cpp +++ b/plugins/zone.cpp @@ -601,12 +601,12 @@ void unitInfo(color_ostream & out, df::unit* unit, bool verbose = false) bool isCage(df::building * building) { - return building->getType() == building_type::Cage; + return building && (building->getType() == building_type::Cage); } bool isChain(df::building * building) { - return building->getType() == building_type::Chain; + return building && (building->getType() == building_type::Chain); } // returns building of cage at cursor position (NULL if nothing found) @@ -2004,7 +2004,7 @@ command_result df_zone (color_ostream &out, vector & parameters) // cagezone wants a pen/pit as starting point if(!cagezone_assign) target_building = findCageAtCursor(); - if(!target_building) + if(target_building) { out << "Target building type: cage." << endl; }