extern "C" EXPORT_API int
screen_connector_toolkit_evas_remove(screen_connector_toolkit_evas_h handle) {
- g_idle_add([](gpointer user_data)->gboolean {
- RemoteSurfaceEvasStub* rs = static_cast<RemoteSurfaceEvasStub*>(user_data);
+ RemoteSurfaceEvasStub* rs = static_cast<RemoteSurfaceEvasStub*>(handle);
- for (int i = SCREEN_CONNECTOR_SCREEN_TYPE_WIDGET;
- i <= SCREEN_CONNECTOR_SCREEN_TYPE_ALL; i++) {
- auto sci = __connectors.find(i);
+ for (int i = SCREEN_CONNECTOR_SCREEN_TYPE_WIDGET;
+ i <= SCREEN_CONNECTOR_SCREEN_TYPE_ALL; i++) {
+ auto sci = __connectors.find(i);
- if (sci == __connectors.end())
- continue;
+ if (sci == __connectors.end())
+ continue;
- __connectors[i]->Remove(rs);
- }
-
- return G_SOURCE_REMOVE;
- }, handle);
+ __connectors[i]->Remove(rs);
+ }
return 0;
}