]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/brush.cpp
fixed save-region crash
[xonotic/netradiant.git] / radiant / brush.cpp
index 2250b45a39d0242a181b28e683773c5c5b89a884..d2f217b310f97463afe9aef95f8b7d8b2c31f652 100644 (file)
@@ -20,17 +20,18 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
 #include "brush.h"
+#include "signal/signal.h"
 
-std::set<Callback> g_brushTextureChangedCallbacks;
+Signal0 g_brushTextureChangedCallbacks;
 
-void Brush_addTextureChangedCallback(const Callback& callback)
+void Brush_addTextureChangedCallback(const SignalHandler& handler)
 {
-  g_brushTextureChangedCallbacks.insert(callback);
+  g_brushTextureChangedCallbacks.connectLast(handler);
 }
 
 void Brush_textureChanged()
 {
-  std::for_each(g_brushTextureChangedCallbacks.begin(), g_brushTextureChangedCallbacks.end(), CallbackInvoke());
+  g_brushTextureChangedCallbacks();
 }
 
 QuantiseFunc Face::m_quantise;
@@ -269,14 +270,17 @@ void Brush::buildBRep()
         }
       }
 
-      ASSERT_MESSAGE((uniqueVertices.size() + faces_size) - uniqueEdges.size() == 2, "Final B-Rep: inconsistent vertex count");
+      if((uniqueVertices.size() + faces_size) - uniqueEdges.size() != 2)
+      {
+        globalErrorStream() << "Final B-Rep: inconsistent vertex count\n";
+      }
 
 #if BRUSH_CONNECTIVITY_DEBUG
       if((uniqueVertices.size() + faces_size) - uniqueEdges.size() != 2)
       {
         for(Faces::iterator i = m_faces.begin(); i != m_faces.end(); ++i)
         {
-                 std::size_t faceIndex = std::distance(m_faces.begin(), i);
+          std::size_t faceIndex = std::distance(m_faces.begin(), i);
 
           if(!(*i)->contributes())
           {