Alexandre Julliard : server: Store window properties in the global atom table instead of

Alexandre Julliard julliard at wine.codeweavers.com
Mon Mar 27 05:29:14 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 641e9e382f8b8ae04296eb94673066e5e5566170
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=641e9e382f8b8ae04296eb94673066e5e5566170

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Mar 27 12:50:26 2006 +0200

server: Store window properties in the global atom table instead of
the per-winstation table.

---

 server/window.c |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/server/window.c b/server/window.c
index 6b876af..24db2c9 100644
--- a/server/window.c
+++ b/server/window.c
@@ -226,7 +226,7 @@ static void set_property( struct window 
     }
 
     /* need to add an entry */
-    if (!grab_global_atom( win->desktop->winstation, atom )) return;
+    if (!grab_global_atom( NULL, atom )) return;
     if (free == -1)
     {
         /* no free entry */
@@ -237,7 +237,7 @@ static void set_property( struct window 
                                        sizeof(*new_props) * (win->prop_alloc + 16) )))
             {
                 set_error( STATUS_NO_MEMORY );
-                release_global_atom( win->desktop->winstation, atom );
+                release_global_atom( NULL, atom );
                 return;
             }
             win->prop_alloc += 16;
@@ -260,7 +260,7 @@ static obj_handle_t remove_property( str
         if (win->properties[i].type == PROP_TYPE_FREE) continue;
         if (win->properties[i].atom == atom)
         {
-            release_global_atom( win->desktop->winstation, atom );
+            release_global_atom( NULL, atom );
             win->properties[i].type = PROP_TYPE_FREE;
             return win->properties[i].handle;
         }
@@ -292,7 +292,7 @@ inline static void destroy_properties( s
     for (i = 0; i < win->prop_inuse; i++)
     {
         if (win->properties[i].type == PROP_TYPE_FREE) continue;
-        release_global_atom( win->desktop->winstation, win->properties[i].atom );
+        release_global_atom( NULL, win->properties[i].atom );
     }
     free( win->properties );
 }
@@ -1966,12 +1966,11 @@ DECL_HANDLER(set_window_property)
 
     if (get_req_data_size())
     {
-        atom_t atom = add_global_atom( win->desktop->winstation,
-                                       get_req_data(), get_req_data_size() / sizeof(WCHAR) );
+        atom_t atom = add_global_atom( NULL, get_req_data(), get_req_data_size() / sizeof(WCHAR) );
         if (atom)
         {
             set_property( win, atom, req->handle, PROP_TYPE_STRING );
-            release_global_atom( win->desktop->winstation, atom );
+            release_global_atom( NULL, atom );
         }
     }
     else set_property( win, req->atom, req->handle, PROP_TYPE_ATOM );
@@ -1986,7 +1985,7 @@ DECL_HANDLER(remove_window_property)
     if (win)
     {
         atom_t atom = req->atom;
-        if (get_req_data_size()) atom = find_global_atom( win->desktop->winstation, get_req_data(),
+        if (get_req_data_size()) atom = find_global_atom( NULL, get_req_data(),
                                                           get_req_data_size() / sizeof(WCHAR) );
         if (atom) reply->handle = remove_property( win, atom );
     }
@@ -2001,7 +2000,7 @@ DECL_HANDLER(get_window_property)
     if (win)
     {
         atom_t atom = req->atom;
-        if (get_req_data_size()) atom = find_global_atom( win->desktop->winstation, get_req_data(),
+        if (get_req_data_size()) atom = find_global_atom( NULL, get_req_data(),
                                                           get_req_data_size() / sizeof(WCHAR) );
         if (atom) reply->handle = get_property( win, atom );
     }




More information about the wine-cvs mailing list