Enlightenment CVS committal

Author  : codewarrior
Project : e17
Module  : proto

Dir     : e17/proto/etk/src/engines/ecore_evas_x11


Modified Files:
        ecore_evas_x11.c 


Log Message:
- make etk_window_sticky_get work (needed an ecore_evas fix)


===================================================================
RCS file: /cvs/e/e17/proto/etk/src/engines/ecore_evas_x11/ecore_evas_x11.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ecore_evas_x11.c    27 Jul 2006 00:54:56 -0000      1.1
+++ ecore_evas_x11.c    27 Jul 2006 02:45:24 -0000      1.2
@@ -27,7 +27,6 @@
 static Ecore_Event_Handler *_window_property_handler = NULL;
 static int _window_property_cb(void *data, int ev_type, void *ev);
     
-
 /* Engine specific data for Etk_Popup_Window */
 static Ecore_X_Window _etk_popup_window_input_window = 0;
 static Ecore_Event_Handler *_popup_window_key_down_handler = NULL;
@@ -935,16 +934,16 @@
  *
  **************************/
 
-
 static int _window_property_cb(void *data, int ev_type, void *event)
 {
    Etk_Window *window;
    Ecore_X_Event_Window_Property *ev;
+   int sticky;
    
    if (!(window = ETK_WINDOW(data)) || !(ev = event))
      return 1;
    
-   if(ev->atom == ECORE_X_ATOM_NET_WM_STATE)
+   if (ev->atom == ECORE_X_ATOM_NET_WM_STATE)
    {
       unsigned int i, num;
       Ecore_X_Window_State *state;
@@ -955,6 +954,8 @@
       win = engine_data->x_window;      
       ecore_x_netwm_window_state_get(win, &state, &num);
       
+      sticky = 0;      
+      
       if (state)
       {
         for (i = 0; i < num; i++)
@@ -963,12 +964,18 @@
            {
               case ECORE_X_WINDOW_STATE_STICKY:
                  window->sticky = 1;
+                 sticky = 1;
                  etk_object_notify(ETK_OBJECT(window), "sticky");
-                 //printf("internal sticky = %d\n", 
etk_window_sticky_get(window));
                  break;
            }
         }
-      }                           
+      }
+      
+      if (window->sticky == 1 && sticky == 0)
+      {
+        window->sticky = 0;
+        etk_object_notify(ETK_OBJECT(window), "sticky");
+      }
    }
 }
 



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to