/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <dali/internal/accessibility/bridge/bridge-object.h>
#include <dali/internal/accessibility/bridge/bridge-selection.h>
#include <dali/internal/accessibility/bridge/bridge-socket.h>
-#include <dali/internal/accessibility/bridge/bridge-table.h>
#include <dali/internal/accessibility/bridge/bridge-table-cell.h>
+#include <dali/internal/accessibility/bridge/bridge-table.h>
#include <dali/internal/accessibility/bridge/bridge-text.h>
#include <dali/internal/accessibility/bridge/bridge-value.h>
#include <dali/internal/accessibility/bridge/dummy/dummy-atspi.h>
}
/**
+ * @brief Sends a signal to dbus that the window is created.
+ *
+ * @param[in] window The window to be created
+ * @see BridgeObject::Emit()
+ */
+ void EmitCreated(Dali::Window window)
+ {
+ auto windowAccessible = mApplication.GetWindowAccessible(window);
+ if(windowAccessible)
+ {
+ windowAccessible->Emit(WindowEvent::CREATE, 0);
+ }
+ }
+
+ /**
* @brief Sends a signal to dbus that the window is shown.
*
* @param[in] window The window to be shown
}
/**
+ * @copydoc Dali::Accessibility::Bridge::WindowCreated()
+ */
+ void WindowCreated(Dali::Window window) override
+ {
+ if(IsUp())
+ {
+ EmitCreated(window);
+ }
+ }
+
+ /**
* @copydoc Dali::Accessibility::Bridge::WindowShown()
*/
void WindowShown(Dali::Window window) override
if(NULL == mIdleCallback)
{
mIdleCallback = MakeCallback(this, &BridgeImpl::OnIdleSignal);
- adaptor.AddIdle(mIdleCallback, true);
+ if(DALI_UNLIKELY(!adaptor.AddIdle(mIdleCallback, true)))
+ {
+ DALI_LOG_ERROR("Fail to add idle callback for bridge initialize. Call it synchronously.\n");
+ OnIdleSignal();
+ }
}
}
}