ecore_evas_buffer: register it in ecore_evas_input
authorMarcel Hollerbach <mail@marcel-hollerbach.de>
Sun, 25 Nov 2018 11:46:35 +0000 (12:46 +0100)
committerHermet Park <hermetpark@gmail.com>
Wed, 5 Dec 2018 05:50:10 +0000 (14:50 +0900)
this is done in order to make ecore_event_evas_key_down work with this.
The function can be used to simulate interactions with a efl_ui_win. If
this is not added, then the user of ecore_event_evas_key_down needs to
differentiate between buffer engines and the rest of the engines.

Differential Revision: https://phab.enlightenment.org/D7361

src/lib/ecore_evas/ecore_evas_buffer.c

index 82b4bf9..a658810 100644 (file)
@@ -9,6 +9,7 @@
 #include <Ecore.h>
 #include "ecore_private.h"
 #include <Ecore_Input.h>
+#include <Ecore_Input_Evas.h>
 
 #include "Ecore_Evas.h"
 #include "ecore_evas_buffer.h"
@@ -35,6 +36,8 @@ _ecore_evas_buffer_free(Ecore_Evas *ee)
      }
 
    free(bdata);
+
+   ecore_event_evas_shutdown();
 }
 
 static void
@@ -889,8 +892,16 @@ ecore_evas_buffer_allocfunc_new(int w, int h,
 EAPI Ecore_Evas *
 ecore_evas_buffer_new(int w, int h)
 {
-    return ecore_evas_buffer_allocfunc_new
+   Ecore_Evas *ee;
+
+   ecore_event_evas_init();
+
+   ee =  ecore_evas_buffer_allocfunc_new
      (w, h, _ecore_evas_buffer_pix_alloc, _ecore_evas_buffer_pix_free, NULL);
+
+   ecore_evas_done(ee, EINA_TRUE);
+
+   return ee;
 }
 
 EAPI const void *