Fix build error using keyEvent 36/272736/1 accepted/tizen/unified/20220330.003603 accepted/tizen/unified/20220531.143809 accepted/tizen/unified/20220614.134751 accepted/tizen/unified/20220622.134120 submit/tizen/20220329.054434 submit/tizen/20220527.062641 submit/tizen/20220610.060428 submit/tizen/20220621.114826 submit/tizen/20220704.072728
authortscholb <scholb.kim@samsung.com>
Wed, 23 Mar 2022 09:24:40 +0000 (18:24 +0900)
committertscholb <scholb.kim@samsung.com>
Wed, 23 Mar 2022 09:24:40 +0000 (18:24 +0900)
screen_connector_toolkit_send_key_event() can use over tizen 7.0.
so i add some code to avoid crash issue.

Change-Id: Ica094abb837ef292bcb21f8377c2315cd9790343

packaging/widget-viewer-dali.spec
widget_viewer_dali/internal/widget_view/widget_view_impl.cpp

index bc9971c22c1cbf61499e007c89bab08f98358367..9c3b7c997aa1eb81b91773dcd93fae5d890b549d 100644 (file)
@@ -71,6 +71,10 @@ CXXFLAGS+=" -D_ARCH_ARM_"
     %define ENABLE_ECOREWL2 Off
 %endif
 
+%if 0%{?tizen_version_major} >= 7
+CXXFLAGS+=" -DOVER_TIZEN_VERSION_7"
+%endif
+
 cd %{_builddir}/%{name}-%{version}/build/tizen
 
 MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
index 15f86e0cf440a79ed75e2b463f9d762cd3522b2e..1fae55ff06b1b42a277c5d46012b5ca245db11d3 100644 (file)
@@ -1215,6 +1215,8 @@ bool WidgetView::OnKeyEvent( const Dali::KeyEvent& event )
     return false;
   }
 
+// Use new keyEvent over tizen_7.0
+#ifdef OVER_TIZEN_VERSION_7
   screen_connector_event_type_e type = SCREEN_CONNECTOR_EVENT_TYPE_NONE;
 
   switch( event.GetState() )
@@ -1249,8 +1251,41 @@ bool WidgetView::OnKeyEvent( const Dali::KeyEvent& event )
   DALI_LOG_RELEASE_INFO("Sync keyEvent Send, type:%d keyCode :%d, name:%s , consumed(%d) \n", type, event.GetKeyCode(), event.GetKeyName().c_str(), consumed);
 
   return consumed;
+
+#else // if not, use existing events
+  tizen_remote_surface_event_type type = TIZEN_REMOTE_SURFACE_EVENT_TYPE_NONE;
+
+  switch( event.GetState() )
+  {
+    case Dali::KeyEvent::DOWN:
+    {
+      type = TIZEN_REMOTE_SURFACE_EVENT_TYPE_KEY_DOWN;
+      break;
+    }
+    case Dali::KeyEvent::UP:
+    {
+      type = TIZEN_REMOTE_SURFACE_EVENT_TYPE_KEY_UP;
+      break;
+    }
+    default:
+    {
+      return false;
+    }
+  }
+
+  tizen_remote_surface_transfer_key_event( mRemoteSurface,
+                                           type,
+                                           event.GetKeyCode(),
+                                           event.GetDeviceClass(),
+                                           event.GetDeviceSubclass(),
+                                           "",
+                                           static_cast< uint32_t >( event.GetTime() )
+                                         );
+  return false;
+#endif
 }
 
+
 void WidgetView::DeleteBuffer(wl_buffer* buffer, WidgetBuffer* widgetBuffer)
 {
   bool findBuffer = false;