Use wl_signal_emit_mutable() 85/296785/2 accepted/tizen/unified/20230807.014704
authorSeunghun Lee <shiin.lee@samsung.com>
Fri, 4 Aug 2023 06:07:49 +0000 (15:07 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 4 Aug 2023 09:43:24 +0000 (09:43 +0000)
The wl_signal_emit_mutable() is safer than wl_signal_emit().

Change-Id: Iac108e20d435dd5b72fa85534e06f15b5d355dba

src/bin/e_comp_wl.c
src/bin/e_comp_wl_buffer.c
src/bin/e_comp_wl_data.c
src/bin/e_comp_wl_input.c
src/bin/e_comp_wl_rsm.c
src/bin/e_comp_wl_tbm.c
src/bin/e_compositor.c
src/bin/e_foreign_shell.c
src/bin/e_hwc_window_queue.c

index 2261725..aad000a 100644 (file)
@@ -656,7 +656,7 @@ _e_comp_wl_evas_cb_hide(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EIN
    if (ec->comp_data->sub.below_obj)
      evas_object_hide(ec->comp_data->sub.below_obj);
 
-   wl_signal_emit(&e_comp_wl->ptr_constraints.surface_unmap_signal, ec);
+   wl_signal_emit_mutable(&e_comp_wl->ptr_constraints.surface_unmap_signal, ec);
 }
 
 static void
@@ -1227,7 +1227,7 @@ _e_comp_wl_evas_cb_mouse_in(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj
         ec->pointer_enter_sent = EINA_TRUE;
      }
 
-   wl_signal_emit(&e_comp_wl->ptr_constraints.surface_mousein_signal, ec);
+   wl_signal_emit_mutable(&e_comp_wl->ptr_constraints.surface_mousein_signal, ec);
 }
 
 static void
@@ -2774,7 +2774,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
      }
 
    /* emit a apply_viewport signal when the information of viewport and buffer is ready */
-   wl_signal_emit(&cdata->apply_viewport_signal, &cdata->surface);
+   wl_signal_emit_mutable(&cdata->apply_viewport_signal, &cdata->surface);
 
    _e_comp_wl_surface_state_buffer_set(state, NULL);
 
@@ -3101,7 +3101,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
 
    state->buffer_viewport.changed = 0;
 
-   wl_signal_emit(&cdata->state_commit_signal, &cdata->surface);
+   wl_signal_emit_mutable(&cdata->state_commit_signal, &cdata->surface);
 
    if (buffer &&
        ec->exp_iconify.buffer_flush &&
index 2f13888..3745b8b 100644 (file)
@@ -327,7 +327,7 @@ _e_comp_wl_buffer_finish(E_Comp_Wl_Buffer *base)
    if (base->buffer_release)
      e_explicit_sync_buffer_release_destroy(base->buffer_release);
 
-   wl_signal_emit(&base->destroy_signal, base);
+   wl_signal_emit_mutable(&base->destroy_signal, base);
 }
 
 static E_Buffer *
index 2e534f7..3aeca98 100644 (file)
@@ -362,7 +362,7 @@ _e_comp_wl_data_source_cb_resource_destroy(struct wl_resource *resource)
    if (!(source = wl_resource_get_user_data(resource)))
      return;
 
-   wl_signal_emit(&source->destroy_signal, source);
+   wl_signal_emit_mutable(&source->destroy_signal, source);
 
    if (e_comp_wl->drag_source == source)
      {
@@ -481,7 +481,7 @@ _e_comp_wl_data_device_destroy_selection_data_source(struct wl_listener *listene
            wl_data_device_send_selection(data_only, NULL);
      }
 
-   wl_signal_emit(&e_comp_wl->selection.signal, e_comp->wl_comp_data);
+   wl_signal_emit_mutable(&e_comp_wl->selection.signal, e_comp->wl_comp_data);
 }
 
 static struct wl_resource*
@@ -553,7 +553,7 @@ _e_comp_wl_data_device_selection_set(void *data EINA_UNUSED, E_Comp_Wl_Data_Sour
          * when it completes to optimize the entry, it should be checked more.
          */
         if (e_comp_wl->clipboard.source)
-          wl_signal_emit(&e_comp_wl->selection.signal, e_comp->wl_comp_data);
+          wl_signal_emit_mutable(&e_comp_wl->selection.signal, e_comp->wl_comp_data);
 
         return;
      }
@@ -642,7 +642,7 @@ _e_comp_wl_data_device_selection_set(void *data EINA_UNUSED, E_Comp_Wl_Data_Sour
           }
      }
 
-   wl_signal_emit(&e_comp_wl->selection.signal, e_comp->wl_comp_data);
+   wl_signal_emit_mutable(&e_comp_wl->selection.signal, e_comp->wl_comp_data);
 
    if (source)
      {
@@ -1339,7 +1339,7 @@ e_comp_wl_clipboard_source_unref(E_Comp_Wl_Clipboard_Source *source)
 
    _mime_types_free(&source->data_source);
 
-   wl_signal_emit(&source->data_source.destroy_signal, &source->data_source);
+   wl_signal_emit_mutable(&source->data_source.destroy_signal, &source->data_source);
    wl_array_release(&source->contents);
    free(source);
 
@@ -1422,7 +1422,7 @@ _e_comp_wl_manual_source_unref(E_Comp_Wl_Manual_Data_Source *source)
 
    _mime_types_free(&source->data_source);
 
-   wl_signal_emit(&source->data_source.destroy_signal, &source->data_source);
+   wl_signal_emit_mutable(&source->data_source.destroy_signal, &source->data_source);
    wl_array_release(&source->contents);
    free(source);
 
@@ -1517,7 +1517,7 @@ _e_comp_wl_data_device_manual_selection_set(E_Comp_Wl_Data_Source *source, uint3
      }
 
    //do not notify to internal clipboard
-   //wl_signal_emit(&e_comp_wl->selection.signal, e_comp->wl_comp_data);
+   //wl_signal_emit_mutable(&e_comp_wl->selection.signal, e_comp->wl_comp_data);
 
    if (source)
      {
index e725350..ef8289c 100644 (file)
@@ -237,7 +237,7 @@ _e_comp_wl_input_cb_pointer_unbind(struct wl_resource *resource)
    e_comp_wl->ptr.resources =
      eina_list_remove(e_comp_wl->ptr.resources, resource);
 
-   wl_signal_emit(&e_comp_wl->ptr_constraints.pointer_destroy_signal, resource);
+   wl_signal_emit_mutable(&e_comp_wl->ptr_constraints.pointer_destroy_signal, resource);
 }
 
 static void
@@ -1165,7 +1165,7 @@ _e_comp_wl_input_cb_bind_pointer_constraints(struct wl_client *client, void *dat
 static void
 _e_comp_wl_input_cb_surface_commit(void *data EINA_UNUSED, E_Client *ec)
 {
-   wl_signal_emit(&e_comp_wl->ptr_constraints.surface_commit_signal, ec);
+   wl_signal_emit_mutable(&e_comp_wl->ptr_constraints.surface_commit_signal, ec);
 }
 
 static void
index 1ae81b8..ea56e99 100644 (file)
@@ -3046,7 +3046,7 @@ _e_comp_wl_remote_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *st
 
    state->buffer_viewport.changed = 0;
 
-   wl_signal_emit(&cdata->state_commit_signal, &cdata->surface);
+   wl_signal_emit_mutable(&cdata->state_commit_signal, &cdata->surface);
 
    /* send remote buffer to remote surfaces */
    buffer = e_pixmap_resource_get(ec->pixmap);
index 08546af..0fbb811 100644 (file)
@@ -206,7 +206,7 @@ e_comp_wl_tbm_buffer_destroy(E_Comp_Wl_Buffer *buffer)
         buffer->tbm_surface = NULL;
      }
 
-   wl_signal_emit(&buffer->destroy_signal, buffer);
+   wl_signal_emit_mutable(&buffer->destroy_signal, buffer);
    free(buffer);
 }
 
index 87ca02f..c2c6cc7 100644 (file)
@@ -466,7 +466,7 @@ _e_surface_destroy(E_Surface *surface)
    if (surface->base.sub.watcher)
      wl_resource_destroy(surface->base.sub.watcher);
 
-   wl_signal_emit(&surface->base.destroy_signal, &surface->base.surface);
+   wl_signal_emit_mutable(&surface->base.destroy_signal, &surface->base.surface);
 
    e_comp_wl_surface_state_finish(&surface->base.pending);
 
index b2ce073..26072c7 100644 (file)
@@ -433,7 +433,7 @@ _e_exported_shell_destroy(E_Exported_Shell *es)
    eina_hash_del_by_key(_exported_shell_hash,
                         e_foreign_handle_string_get(es->handle));
 
-   wl_signal_emit(&es->destroy_signal, es);
+   wl_signal_emit_mutable(&es->destroy_signal, es);
 
    _e_exported_shell_visible_set(es, EINA_FALSE);
    _e_exported_shell_ec_unlink(es);
index bdb937c..9c02347 100644 (file)
@@ -350,7 +350,7 @@ _e_hwc_window_queue_buffer_destroy(E_Hwc_Window_Queue_Buffer *queue_buffer)
              (queue_buffer->queue ? queue_buffer->queue->tqueue : NULL),
              queue_buffer->tsurface);
 
-   wl_signal_emit(&queue_buffer->destroy_signal, queue_buffer);
+   wl_signal_emit_mutable(&queue_buffer->destroy_signal, queue_buffer);
 
    E_FREE(queue_buffer);
 }
@@ -719,7 +719,7 @@ _e_hwc_window_queue_destroy(E_Hwc_Window_Queue *queue)
    EINA_LIST_FREE(queue->buffers, queue_buffer)
      _e_hwc_window_queue_buffer_destroy(queue_buffer);
 
-   wl_signal_emit(&queue->destroy_signal, queue);
+   wl_signal_emit_mutable(&queue->destroy_signal, queue);
 
    queue->tqueue = NULL;