]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - contrib/bobtoolz/DPatch.cpp
Merge branch 'NateEag-master-patch-12920' into 'master'
[xonotic/netradiant.git] / contrib / bobtoolz / DPatch.cpp
index 2228b23bc54f36c478d08ddefbf199be8ead2ca2..1f281ac13ea6963629aa7a00497e057bb2b22b31 100644 (file)
@@ -302,7 +302,7 @@ DPatch* DPatch::MergePatches( patch_merge_t merge_info, DPatch *p1, DPatch *p2 )
 
        int newHeight = p1->height + p2->height - 1;
        if ( newHeight > MAX_PATCH_HEIGHT ) {
-               return false;
+               return NULL;
        }
 
        DPatch* newPatch = new DPatch();
@@ -486,18 +486,23 @@ std::list<DPatch> DPatch::Split(){
        int i;
        int x, y;
 
-       if ( width >= 5 ) {
+       if ( height >= 5 ) {
                std::list<DPatch> patchColList = SplitCols();
                for ( std::list<DPatch>::iterator patchesCol = patchColList.begin(); patchesCol != patchColList.end(); patchesCol++ )
                {
-                       std::list<DPatch> patchRowList = ( *patchesCol ).SplitRows();
-                       for ( std::list<DPatch>::iterator patchesRow = patchRowList.begin(); patchesRow != patchRowList.end(); patchesRow++ )
-                       {
-                               patchList.push_front( *patchesRow );
+                       if( width >= 5 ){
+                               std::list<DPatch> patchRowList = ( *patchesCol ).SplitRows();
+                               for ( std::list<DPatch>::iterator patchesRow = patchRowList.begin(); patchesRow != patchRowList.end(); patchesRow++ )
+                               {
+                                       patchList.push_front( *patchesRow );
+                               }
+                       }
+                       else{
+                               patchList.push_front( *patchesCol );
                        }
                }
        }
-       else if ( height >= 5 ) {
+       else if ( width >= 5 ) {
                std::list<DPatch> patchRowList = SplitRows();
                for ( std::list<DPatch>::iterator patchesRow = patchRowList.begin(); patchesRow != patchRowList.end(); patchesRow++ )
                {