e_blur: check dim_config is enabled when creating dim_rect 48/325148/1
authorhojoon-ryou <hojoon.ryou@samsung.com>
Mon, 26 May 2025 11:21:16 +0000 (20:21 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 4 Jun 2025 03:47:47 +0000 (12:47 +0900)
Change-Id: I85b80013cb59fab733058609384a90a02cb15351

src/bin/server/e_blur.c

index 300970da6b8b9874f0764017e7767a2d42fb2eb1..ba99bbb6f6f3682036378779bcf92be4b5c377e0 100644 (file)
@@ -745,9 +745,12 @@ _e_blur_cb_new_rectangle(struct wl_listener *listener, void *data)
    EINA_SAFETY_ON_NULL_GOTO(blur_rectangle->view_image, fail);
    img_view = e_view_image_view_get(blur_rectangle->view_image);
 
-   _e_blur_rectangle_dim_rect_new(blur_rectangle, blur_view_client_tree, "blur_dim_obj");
-   EINA_SAFETY_ON_NULL_GOTO(blur_rectangle->dim_rect, fail);
-   dim_view = e_view_rect_view_get(blur_rectangle->dim_rect);
+   if (_blur_manager->configs.dim_config->enabled)
+     {
+        _e_blur_rectangle_dim_rect_new(blur_rectangle, blur_view_client_tree, "blur_dim_obj");
+        EINA_SAFETY_ON_NULL_GOTO(blur_rectangle->dim_rect, fail);
+        dim_view = e_view_rect_view_get(blur_rectangle->dim_rect);
+     }
 
    if ((blur_rectangle->rx != 0) && (blur_rectangle->ry != 0))
      {
@@ -756,7 +759,7 @@ _e_blur_cb_new_rectangle(struct wl_listener *listener, void *data)
         corner_img_view = e_view_image_view_get(blur_rectangle->corner_radius_image);
 
         e_view_clip_set(img_view, corner_img_view);
-        e_view_clip_set(dim_view, corner_img_view);
+        if (dim_view) e_view_clip_set(dim_view, corner_img_view);
      }
 
    blur_rectangle->blur = blur;
@@ -769,7 +772,8 @@ _e_blur_cb_new_rectangle(struct wl_listener *listener, void *data)
    e_view_place_below(img_view, e_view_client_view_get(blur_view_client));
    if (corner_img_view)
      e_view_place_above(corner_img_view, img_view);
-   e_view_place_below(dim_view, img_view);
+   if (dim_view)
+     e_view_place_below(dim_view, img_view);
 
    // show new E_Views
    if (e_view_client_visible_get(blur_view_client) && _e_blur_enabled_get(blur))
@@ -1098,7 +1102,7 @@ _e_blur_manager_cb_new_blur_behind(struct wl_listener *listener, void *data)
    E_Client *ec;
    E_View_Client *view_client;
    E_View_Tree *view_client_tree;
-   E_View *image_view, *dim_view;
+   E_View *image_view, *dim_view = NULL;
    E_Blur_Hook_Data hook_data;
    int comp_w = 0, comp_h = 0;
 
@@ -1141,18 +1145,24 @@ _e_blur_manager_cb_new_blur_behind(struct wl_listener *listener, void *data)
    EINA_SAFETY_ON_NULL_GOTO(blur_rectangle->view_image, fail);
    image_view = e_view_image_view_get(blur_rectangle->view_image);
 
-   _e_blur_rectangle_dim_rect_new(blur_rectangle, view_client_tree, "blur_behind_dim_obj");
-   EINA_SAFETY_ON_NULL_GOTO(blur_rectangle->dim_rect, fail);
-   dim_view = e_view_rect_view_get(blur_rectangle->dim_rect);
+   if (_blur_manager->configs.dim_config->enabled)
+     {
+        _e_blur_rectangle_dim_rect_new(blur_rectangle, view_client_tree, "blur_behind_dim_obj");
+        EINA_SAFETY_ON_NULL_GOTO(blur_rectangle->dim_rect, fail);
+        dim_view = e_view_rect_view_get(blur_rectangle->dim_rect);
+     }
 
    e_comp_size_get(&comp_w, &comp_h);
 
    // resize & place E_View_Objects
    e_view_image_geometry_set(blur_rectangle->view_image, 0, 0, comp_w, comp_h);
-   e_view_position_set(dim_view, 0, 0);
-   e_view_rect_size_set(blur_rectangle->dim_rect, comp_w, comp_h);
    e_view_place_below(image_view, _e_blur_behind_bottom_view_get(e_view_client_view_get(view_client)));
-   e_view_place_below(dim_view, image_view);
+   if (dim_view)
+     {
+        e_view_position_set(dim_view, 0, 0);
+        e_view_rect_size_set(blur_rectangle->dim_rect, comp_w, comp_h);
+        e_view_place_below(dim_view, image_view);
+     }
 
    blur_behind->blur_rectangle = blur_rectangle;
    blur_manager->blurs_behind = eina_list_append(blur_manager->blurs_behind, blur_behind);