evas: check evas data is null or not. 43/317343/1
authorHosang Kim <hosang12.kim@samsung.com>
Mon, 9 Sep 2024 07:11:00 +0000 (16:11 +0900)
committerHosang Kim <hosang12.kim@samsung.com>
Mon, 9 Sep 2024 07:11:00 +0000 (16:11 +0900)
Change-Id: Ic52a16724fbc125b028f760bff3d6358f360a7a7

src/lib/evas/canvas/evas_device.c

index 4ee7f92..e3b90bc 100644 (file)
@@ -201,6 +201,8 @@ evas_device_add_full(Evas *eo_e, const char *name, const char *desc,
    Evas_Device *dev;
 
    SAFETY_CHECK(eo_e, EVAS_CANVAS_CLASS, NULL);
+   e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS);
+   if (!e) return NULL;
 
    dev = efl_add_ref(EFL_INPUT_DEVICE_CLASS, parent_dev ?: eo_e,
                      efl_name_set(efl_added, name),
@@ -210,8 +212,6 @@ evas_device_add_full(Evas *eo_e, const char *name, const char *desc,
                      efl_input_device_evas_set(efl_added, eo_e),
                      efl_input_device_subclass_set(efl_added, sub_clas));
 
-   e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
-
    /* This is the case when the user is using wayland backend,
       since evas itself will not create the devices we must set them here. */
    if (!e->default_seat && clas == EVAS_DEVICE_CLASS_SEAT)