From 41a9c7104d1a1183775d70793d6b7c0dea5c3607 Mon Sep 17 00:00:00 2001 From: Flugente Date: Mon, 16 May 2016 16:25:32 +0000 Subject: [PATCH] Fix: crash in release exe due to bad initialisation git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8218 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Laptop/BaseTable.cpp | 6 ++++++ Laptop/BaseTable.h | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Laptop/BaseTable.cpp b/Laptop/BaseTable.cpp index 5ab2a3b59..e1c8ec37a 100644 --- a/Laptop/BaseTable.cpp +++ b/Laptop/BaseTable.cpp @@ -408,6 +408,9 @@ TabBox::Display( ) void TabBox::DestroyMouseRegions( ) { + if ( !IsInit( ) ) + return; + for ( std::vector::iterator it = mRegisteredTables.begin( ); it != mRegisteredTables.end( ); ++it ) { if ( (*it).mMouseRegion_Defined ) @@ -671,6 +674,9 @@ TestTable::Display( ) void TestTable::DestroyMouseRegions() { + if ( !IsInit( ) ) + return; + std::vector::iterator itend = mColumnDataProviderVector.end( ); for ( std::vector::iterator it = mColumnDataProviderVector.begin( ); it != itend; ++it ) { diff --git a/Laptop/BaseTable.h b/Laptop/BaseTable.h index ad7c91cbb..a0b357159 100644 --- a/Laptop/BaseTable.h +++ b/Laptop/BaseTable.h @@ -174,10 +174,14 @@ void cdp_statusbar_func_dummy( UINT32 aId, UINT16& arCol1, UINT16& arVal1, UINT1 class ColumnDataProvider { public: - ColumnDataProvider( STR16 aName ) : mName( aName ), mNumberOfEntries( 0 ), mRequiredHeigth(20), + ColumnDataProvider( STR16 aName ) : mName( aName ), mNumberOfEntries( 0 ), mRequiredLength(20), mRequiredHeigth( 20 ), mType( CDP_STRING ), mCallbackType( CDP_DEFAULT ), mFuncString( cdp_string_func_dummy ), mFuncImage( cdp_image_func_dummy ) { + for ( int i = 0; i < COLUMNDATAPROVIDER_MOUSEREGIONS; ++i ) + { + mMouseRegion_Defined[i] = FALSE; + } } // general provider functions