Revert "Revert "[3.0] Fix crash in wayland""
[platform/core/uifw/dali-adaptor.git] / adaptors / wayland / window-impl-wl.cpp
index 1cef07a..c3811f5 100644 (file)
@@ -63,15 +63,10 @@ struct Window::EventHandler
    */
   EventHandler( Window* window )
   : mWindow( window ),
+    mWindowPropertyHandler( NULL ),
+    mClientMessagehandler( NULL ),
     mEcoreWindow( 0 )
   {
-    // store ecore window handle
-    ECore::WindowRenderSurface* wlWindow( dynamic_cast< ECore::WindowRenderSurface * >( mWindow->mSurface ) );
-    if( wlWindow )
-    {
-      mEcoreWindow = wlWindow->GetWlWindow();
-    }
-    DALI_ASSERT_ALWAYS( mEcoreWindow != 0 && "There is no ecore wl window");
   }
 
   /**
@@ -111,11 +106,11 @@ struct Window::EventHandler
 };
 
 
-Window* Window::New(const PositionSize& posSize, const std::string& name, bool isTransparent)
+Window* Window::New(const PositionSize& posSize, const std::string& name, const std::string& className, bool isTransparent)
 {
   Window* window = new Window();
   window->mIsTransparent = isTransparent;
-  window->Initialize(posSize, name);
+  window->Initialize(posSize, name, className);
   return window;
 }
 
@@ -221,11 +216,12 @@ Window::~Window()
   delete mSurface;
 }
 
-void Window::Initialize(const PositionSize& windowPosition, const std::string& name)
+void Window::Initialize(const PositionSize& windowPosition, const std::string& name, const std::string& className)
 {
   // create an Wayland window by default
   Any surface;
   ECore::WindowRenderSurface* windowSurface = new ECore::WindowRenderSurface( windowPosition, surface, name, mIsTransparent );
+  SetClass( name, className );
   windowSurface->Map();
 
   mSurface = windowSurface;