From 5dd408d91dd3ec430401c854fc69f2df8597ebfd Mon Sep 17 00:00:00 2001 From: Forest Hale Date: Mon, 5 Mar 2007 23:45:55 +0000 Subject: [PATCH 1/1] changed ASSERT_MESSAGE and ERROR_MESSAGE macros to use proper do{}while(0) encapsulation to protect them when used in an if block without {} previously they used else to consume the trailing ; but this could just as easily consume any other following statement (very dangerous in concept, but no damage done in this case) this causes no change whatsoever in release builds git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@152 8a3a26a2-13c4-0310-b231-cf6edde360e5 --- libs/debugging/debugging.h | 8 ++++---- radiant/brush.h | 2 +- radiant/dialog.cpp | 6 +++--- radiant/mainframe.cpp | 4 ++++ 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/libs/debugging/debugging.h b/libs/debugging/debugging.h index 642283fd..4c03e9d7 100644 --- a/libs/debugging/debugging.h +++ b/libs/debugging/debugging.h @@ -112,17 +112,17 @@ inline DebugMessageHandler& globalDebugMessageHandler() #if defined(DEBUG_ASSERTS) /// \brief Sends a \p message to the current debug-message-handler text-output-stream if \p condition evaluates to false. -#define ASSERT_MESSAGE(condition, message)\ +#define ASSERT_MESSAGE(condition, message) do{\ if(!(condition))\ {\ globalDebugMessageHandler().getOutputStream() << FILE_LINE "\nassertion failure: " << message << "\n";\ if(!globalDebugMessageHandler().handleMessage()) { DEBUGGER_BREAKPOINT(); }\ -} else\ +}} while(0) /// \brief Sends a \p message to the current debug-message-handler text-output-stream. -#define ERROR_MESSAGE(message)\ +#define ERROR_MESSAGE(message) do{\ globalDebugMessageHandler().getOutputStream() << FILE_LINE "\nruntime error: " << message << "\n";\ -if(!globalDebugMessageHandler().handleMessage()) { DEBUGGER_BREAKPOINT(); } else\ +if(!globalDebugMessageHandler().handleMessage()) { DEBUGGER_BREAKPOINT(); }} while(0) #define ASSERT_NOTNULL(ptr) ASSERT_MESSAGE(ptr != 0, "pointer \"" #ptr "\" is null") diff --git a/radiant/brush.h b/radiant/brush.h index 4542faf2..04d3d1ff 100644 --- a/radiant/brush.h +++ b/radiant/brush.h @@ -3099,7 +3099,7 @@ public: m_face->getWinding()[2].vertex ), "update_move_planepts_vertex2: error" - ) + ); m_face->m_move_planepts[0] = m_face->getWinding()[opposite].vertex; m_face->m_move_planepts[1] = m_face->getWinding()[index].vertex; diff --git a/radiant/dialog.cpp b/radiant/dialog.cpp index c3ef12bf..cb5c7069 100644 --- a/radiant/dialog.cpp +++ b/radiant/dialog.cpp @@ -378,14 +378,14 @@ Dialog::~Dialog() void Dialog::ShowDlg() { - ASSERT_MESSAGE(m_window != 0, "dialog was not constructed") + ASSERT_MESSAGE(m_window != 0, "dialog was not constructed"); importData(); gtk_widget_show(GTK_WIDGET(m_window)); } void Dialog::HideDlg() { - ASSERT_MESSAGE(m_window != 0, "dialog was not constructed") + ASSERT_MESSAGE(m_window != 0, "dialog was not constructed"); exportData(); gtk_widget_hide(GTK_WIDGET(m_window)); } @@ -399,7 +399,7 @@ static gint delete_event_callback(GtkWidget *widget, GdkEvent* event, gpointer d void Dialog::Create() { - ASSERT_MESSAGE(m_window == 0, "dialog cannot be constructed") + ASSERT_MESSAGE(m_window == 0, "dialog cannot be constructed"); m_window = BuildDialog(); g_signal_connect(G_OBJECT(m_window), "delete_event", G_CALLBACK(delete_event_callback), this); diff --git a/radiant/mainframe.cpp b/radiant/mainframe.cpp index 6af2cf8f..785d86ac 100644 --- a/radiant/mainframe.cpp +++ b/radiant/mainframe.cpp @@ -3310,7 +3310,11 @@ void GlobalGL_sharedContextCreated() GlobalShaderCache().realise(); Textures_Realise(); +#ifdef __linux__ + g_font = glfont_create("fixed 8"); +#else g_font = glfont_create("courier 8"); +#endif GlobalOpenGL().m_font = g_font.getDisplayList(); GlobalOpenGL().m_fontHeight = g_font.getPixelHeight(); } -- 2.39.2