e_dnd: Fix view rect memory leak 64/324564/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Tue, 20 May 2025 11:07:06 +0000 (20:07 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 20 May 2025 11:28:23 +0000 (20:28 +0900)
If there is no icon resource dnd makes own rect view.
But there is no destroy for this rect.

Change-Id: Ib3552b57557608c9814b34d1acc711a16ad910a6

src/bin/windowmgr/e_dnd.c
src/bin/windowmgr/e_dnd_intern.h

index cdd1f8e3330e30a93ecc8bda6ca215006f2c5c56..94899e1859e8c0547299d82179bd047e17a60635 100644 (file)
@@ -144,6 +144,7 @@ _e_drag_finalize(E_Drag *drag, int x, int y)
              return 0;
           }
         e_drag_view_set(drag, e_view_rect_view_get(rect));
+        drag->rect = rect;
      }
 
    _drag_current = drag;
@@ -390,6 +391,10 @@ _e_drag_free(E_Drag *drag)
         e_view_destroy(e_view_edje_view_get(drag->comp_edje));
         drag->comp_edje = NULL;
      }
+
+   if (drag->rect)
+     e_view_destroy(e_view_rect_view_get(drag->rect));
+
    free(drag);
    if (input_grab)
      e_comp_ungrab_input(1, 1);
index 32c7627dc68342678310da56edad155009d69dde..0a4e77008d25a5a653f18150628d0cc20f91fdf6 100644 (file)
@@ -4,6 +4,7 @@
 #include "e_intern.h"
 #include "e_dnd.h"
 #include "e_view_intern.h"
+#include "e_view_rect.h"
 #include "e_view_edje_intern.h"
 #include "e_seat_intern.h"
 
@@ -37,6 +38,7 @@ struct _E_Drag
      } cb;
    E_Seat *seat;
    E_View            *view;
+   E_View_Rect       *rect;
    E_View_Edje       *comp_edje;
 
    int                x, y, w, h;