DEADSOFTWARE

Fix a memory leak when selecting objects with a mouse-stretchable rectangle
authorDmitry D. Chernov <blackdoomer@yandex.ru>
Thu, 7 Sep 2023 19:35:27 +0000 (05:35 +1000)
committerDmitry D. Chernov <blackdoomer@yandex.ru>
Thu, 7 Sep 2023 19:35:27 +0000 (05:35 +1000)
src/editor/f_main.pas

index 4d62e2ef6a0c04dfe7d373b0ac7b515dc997f174..58b6210233a22db2cce454729f3e84538e6c5190 100644 (file)
@@ -3759,7 +3759,12 @@ begin
   if Button = mbMiddle then
     MouseMDown := False;
 
-  DrawRect := nil;
+  if DrawRect <> nil then
+  begin
+    Dispose(DrawRect);
+    DrawRect := nil;
+  end;
+
   ResizeType := RESIZETYPE_NONE;
   TextureID := 0;
 
@@ -4324,8 +4329,11 @@ begin
   end;
 
 // Клавиши мыши не зажаты:
-  if (not MouseRDown) and (not MouseLDown) then
+  if (not MouseRDown) and (not MouseLDown) and (DrawRect <> nil) then
+  begin
+    Dispose(DrawRect);
     DrawRect := nil;
+  end;
 
 // Строка состояния - координаты мыши:
   StatusBar.Panels[1].Text := Format('(%d:%d)',