e_service_quickpanel: check if zone is available. 97/295497/3
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 7 Jul 2023 08:20:31 +0000 (17:20 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 10 Jul 2023 06:28:46 +0000 (06:28 +0000)
The quickpanel ec has to be assigned to zone at e_service_quickpanel_client_add().

Change-Id: I32eb0b373f8296e9a281e3df7c7ff167a39c6d73

src/bin/services/e_service_quickpanel.c

index 1973525..98dc8c7 100644 (file)
@@ -2218,6 +2218,7 @@ e_service_quickpanel_client_add(E_Client *ec, E_Service_Quickpanel_Type type)
 {
    E_Policy_Quickpanel *qp = NULL;
    E_Layer layer;
+   E_Zone *zone;
 
    BACKEND_FUNC_CALL(quickpanel_client_add, ec, type);
 
@@ -2227,13 +2228,17 @@ e_service_quickpanel_client_add(E_Client *ec, E_Service_Quickpanel_Type type)
    /* check for wayland pixmap */
    if (e_pixmap_type_get(ec->pixmap) != E_PIXMAP_TYPE_WL) return;
 
+   /* check if ec has been assigned to zone. */
+   zone = e_comp_zone_find_by_ec(ec);
+   EINA_SAFETY_ON_NULL_RETURN(zone);
+
    qp = E_NEW(E_Policy_Quickpanel, 1);
    EINA_SAFETY_ON_NULL_RETURN(qp);
 
    ELOGF("QUICKPANEL", "Set Client | qp %p", ec, qp);
 
    qp->ec = ec;
-   qp->zone = e_comp_zone_find_by_ec(ec);
+   qp->zone = zone;
    qp->show_block = EINA_TRUE;
    qp->effect.type = E_SERVICE_QUICKPANEL_EFFECT_TYPE_SWIPE; /* default effect type */
    qp->below = _quickpanel_below_visible_client_get(qp);