Enlightenment CVS committal

Author  : rbdpngn
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src


Modified Files:
        ewl_window.c 


Log Message:
Make sure a display is available for creating a window.
Set the event clipping on the inherited embed to pass events.

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/ewl_window.c,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -3 -r1.79 -r1.80
--- ewl_window.c        28 Apr 2004 18:05:01 -0000      1.79
+++ ewl_window.c        17 Jun 2004 04:37:35 -0000      1.80
@@ -23,19 +23,6 @@
 
 Ecore_List *ewl_window_list = NULL;
 
-void            ewl_window_realize_cb(Ewl_Widget * w, void *ev_data,
-                                    void *user_data);
-void            ewl_window_unrealize_cb(Ewl_Widget * w, void *ev_data,
-                                    void *user_data);
-void            ewl_window_show_cb(Ewl_Widget * w, void *ev_data,
-                                 void *user_data);
-void            ewl_window_hide_cb(Ewl_Widget * w, void *ev_data,
-                                 void *user_data);
-void            ewl_window_destroy_cb(Ewl_Widget * w, void *ev_data,
-                                    void *user_data);
-void            ewl_window_configure_cb(Ewl_Widget * w, void *ev_data,
-                                      void *user_data);
-
 /**
  * @return Returns a new window on success, or NULL on failure.
  * @brief Allocate and initialize a new window
@@ -320,6 +307,8 @@
 
        ewl_callback_prepend(EWL_WIDGET(w), EWL_CALLBACK_REALIZE,
                             ewl_window_realize_cb, NULL);
+       ewl_callback_append(EWL_WIDGET(w), EWL_CALLBACK_REALIZE,
+                            ewl_window_postrealize_cb, NULL);
        ewl_callback_prepend(EWL_WIDGET(w), EWL_CALLBACK_UNREALIZE,
                             ewl_window_unrealize_cb, NULL);
        ewl_callback_append(EWL_WIDGET(w), EWL_CALLBACK_SHOW,
@@ -407,7 +396,7 @@
         * the drawing engine specific info it needs.
         */
 #ifdef HAVE_EVAS_ENGINE_GL_X11_H
-       if (!strcmp(render, "gl_x11")) {
+       if (!strcmp(render, "gl_x11") && ecore_x_display_get()) {
                Evas_Engine_Info_GL_X11 *glinfo;
 
                glinfo = (Evas_Engine_Info_GL_X11 *)info;
@@ -441,7 +430,7 @@
        else
 #endif
 #ifdef HAVE_EVAS_ENGINE_SOFTWARE_X11_H
-       if (!strcmp(render, "software_x11")) {
+       if (!strcmp(render, "software_x11") && ecore_x_display_get()) {
                Evas_Engine_Info_Software_X11 *sinfo;
 
                sinfo = (Evas_Engine_Info_Software_X11 *)info;
@@ -479,6 +468,15 @@
        DLEAVE_FUNCTION(DLEVEL_STABLE);
 }
 
+void ewl_window_postrealize_cb(Ewl_Widget * w, void *ev_data, void *user_data)
+{
+       DENTER_FUNCTION(DLEVEL_STABLE);
+
+       evas_object_pass_events_set(EWL_EMBED(w)->ev_clip, 1);
+
+       DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
 void ewl_window_unrealize_cb(Ewl_Widget * w, void *ev_data, void *user_data)
 {
        Ewl_Object     *o;




-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to