raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=de5ac3287002f21fb13f97ba635f6962664e3ebc

commit de5ac3287002f21fb13f97ba635f6962664e3ebc
Author: Vincent Torri <vincent.to...@gmail.com>
Date:   Wed Sep 30 13:59:27 2020 +0100

    Windows: fix copy'n paste
    
    Summary: fix seat id and clean cnp data when needed
    
    Test Plan: Ctrl-c and Ctrl-V (elm-->app, app--> elm elm-->elm)
    
    Reviewers: jptiz, walac, cochisecesar, bu5hm4n, felipealmeida, raster
    
    Reviewed By: felipealmeida, raster
    
    Subscribers: netstar, cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D12166
---
 src/modules/ecore_evas/engines/win32/ecore_evas_win32.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c 
b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
index 638d4e74f7..debb7f263c 100644
--- a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
+++ b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
@@ -1219,7 +1219,7 @@ _delivery(void *data, const Eina_Value value EINA_UNUSED, 
const Eina_Future *dea
      }
    if (mime_type)
      {
-        edata->clipboard.delivery(ee, 0, 
ECORE_EVAS_SELECTION_BUFFER_COPY_AND_PASTE_BUFFER, mime_type, &slice);
+        edata->clipboard.delivery(ee, 1, 
ECORE_EVAS_SELECTION_BUFFER_COPY_AND_PASTE_BUFFER, mime_type, &slice);
         
EINA_SAFETY_ON_FALSE_GOTO(ecore_win32_clipboard_set((Ecore_Win32_Window 
*)ee->prop.window, slice.mem, slice.len, mime_type), end);
      }
    else
@@ -1234,18 +1234,21 @@ end:
 static Eina_Bool
 _ecore_evas_win32_selection_claim(Ecore_Evas *ee, unsigned int seat, 
Ecore_Evas_Selection_Buffer selection, Eina_Array *available_types, 
Ecore_Evas_Selection_Internal_Delivery delivery, 
Ecore_Evas_Selection_Internal_Cancel cancel)
 {
+   Ecore_Evas_Engine_Data_Win32 *edata = ee->engine.data;
+
    if (selection != ECORE_EVAS_SELECTION_BUFFER_COPY_AND_PASTE_BUFFER)
      return EINA_FALSE;
 
    if (!delivery && !cancel)
      {
+        edata->clipboard.delivery = NULL;
+        edata->clipboard.cancel = NULL;
+        eina_array_clean(edata->clipboard.available_types);
         ecore_win32_clipboard_clear((Ecore_Win32_Window *)ee->prop.window);
         return EINA_TRUE;
      }
    else
      {
-        Ecore_Evas_Engine_Data_Win32 *edata = ee->engine.data;
-
         if (edata->clipboard.cancel)
           {
              edata->clipboard.cancel(ee, seat, selection);

-- 


Reply via email to