apply misc fixes from Markus Fischer and Rambetter
authorTTimo <ttimo@ttimo.net>
Thu, 31 Dec 2009 18:45:35 +0000 (18:45 +0000)
committerTTimo <ttimo@ttimo.net>
Thu, 31 Dec 2009 18:45:35 +0000 (18:45 +0000)
git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@329 8a3a26a2-13c4-0310-b231-cf6edde360e5

include/qerplugin.h
plugins/model/remap.cpp
radiant/gtkdlgs.cpp
radiant/preferences.cpp

index a43894082c24e96cef47537ee165eecf4398315a..48f877c896f010d2b144c55d7ce910432c242f1f 100644 (file)
@@ -476,7 +476,7 @@ typedef void* (WINAPI * PFN_QERAPP_GETENTITYHANDLE)(int nIndex);
 //   but you don't have a clean epair read/write query
 //   and you rely on the C structs directly, which might go away soon
 //   ok now, stop using, it's bad for your karma (see iepairs.h instead)
-typedef epair_t* (WINAPI * PFN_QERAPP_ALLOCATEEPAIR)( char*, char* );
+typedef epair_t* (WINAPI * PFN_QERAPP_ALLOCATEEPAIR)( const char*, const char* );
 typedef int (WINAPI * PFN_QERAPP_ALLOCATEENTITYBRUSHHANDLES)(void* vp);
 typedef void (WINAPI * PFN_QERAPP_RELEASEENTITYBRUSHHANDLES)();
 typedef void* (WINAPI * PFN_QERAPP_GETENTITYBRUSHHANDLE)(int nIndex);
index 73468ac5e52bacb1ecb578ec8c4a2e4a91454792..7f1cac2d164b245681f31209a52d80557750317d 100644 (file)
@@ -224,13 +224,18 @@ private:
       const char* surfShaderName = m_model->GetShaderNameForSurface(j);
       IShader* shader = shader_for_remap(surfShaderName);
 //      m_shaders.push_back((shader) ? shader : (global_shader) ? global_shader : QERApp_Shader_ForName(surfShaderName));
-      if( shader ) {
-        m_shaders.push_back(shader);
-      } else if( global_shader ) {
-        m_shaders.push_back(global_shader);
-      } else {
-        m_shaders.push_back(QERApp_Shader_ForName(surfShaderName));
+      // Determine which shader it is going to be
+      if( !shader ) {
+        if( global_shader ) {
+          shader = global_shader;
+        } else {
+          shader = QERApp_Shader_ForName(surfShaderName);
+        }
       }
+      // Add reference
+      shader->IncRef();
+      // Done, continue
+      m_shaders.push_back( shader );
     }
   }
   
index da91fc251d8ea5ba4f35a5e101270a642c4d697e..d87f2919be9dabe9c8774694c099e4abb23cc1bf 100644 (file)
@@ -3697,9 +3697,13 @@ static void editor_save (GtkWidget *widget, gpointer data)
     return;
   }
 
-  char *str = gtk_editable_get_chars (GTK_EDITABLE (text), 0, -1);
+  GtkTextBuffer *buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text));
+  GtkTextIter start, end;
+  gtk_text_buffer_get_bounds ( buffer, &start, &end);
+  char *str = gtk_text_buffer_get_text(buffer, &start, &end, FALSE);
   fwrite (str, 1, strlen (str), f);
   fclose (f);
+  g_free(str);
 }
 
 static void editor_close (GtkWidget *widget, gpointer data)
index 6050c49b00846816f6250c6852eeb7b6fa931b63..9a71c25b95c7a474f08bc39547949d454af8b7de 100644 (file)
@@ -3359,6 +3359,9 @@ void CGameInstall::BuildDialog() {
 
 void CGameInstall::Run() {
        ScanGames();
+       if (m_availGames[0] == GAME_NONE) {
+               return;
+       }
        if ( DoModal() == IDCANCEL ) {
                Sys_Printf( "game dialog cancelled\n" );
                return;
@@ -3535,5 +3538,7 @@ void CGameInstall::ScanGames() {
                        m_availGames[ iGame++ ] = GAME_JA;
                }
        }
+       Sys_Printf("No installable games found in: %s\n",
+               pakPaths.GetBuffer() );
 }