浏览代码

Use upper_bound instead of sort since predicate does not fulfills strict weak ordering requirement for std::sort

Ivan Savenko 11 月之前
父节点
当前提交
e2fe20e26d
共有 1 个文件被更改,包括 2 次插入3 次删除
  1. 2 3
      client/mapView/MapRendererContextState.cpp

+ 2 - 3
client/mapView/MapRendererContextState.cpp

@@ -54,9 +54,8 @@ void MapRendererContextState::addObject(const CGObjectInstance * obj)
 			if(LOCPLINT->cb->isInTheMap(currTile) && obj->coveringAt(currTile))
 			{
 				auto & container = objects[currTile.z][currTile.x][currTile.y];
-
-				container.push_back(obj->id);
-				boost::range::sort(container, compareObjectBlitOrder);
+				auto position = std::upper_bound(container.begin(), container.end(), obj->id, compareObjectBlitOrder);
+				container.insert(position, obj->id);
 			}
 		}
 	}