[CF-Devel] GTK client container apply bug patch submission

crossfire-devel-admin at archives.real-time.com crossfire-devel-admin at archives.real-time.com
Sun Jul 13 03:36:13 CDT 2003

Hello everyone.
I made a small patch to correct the odd 'apply' behaviour on the GTK 
client, mainly that you can't unapply a container (switches from 
applied/opened to applied).

What i did is simple (i'll explain even if code is pretty straightforward):
I split gtk/gx11.c:close_container into 2 functions, close_container & 
The first one is the reply to the server event 'container closed', sent 
to signal a container goes from opened to closed (and unapplied, 
actually). This one just clears locally the display list.
The second handles the mouse click on the 'close' button, and just sends 
a client command 'apply <container>' to the server to ask for container 
close (this will generate a server event 'container closed', thus 
close_container gets called right after that).

Ok, important point: I couldn't test that patch. Running under Windows, 
and i didn't want to mess with mingw/cygwin to try to compile the code. 
I do think my patch is valid (even some tabs may be weird), though. If 
i'm wrong on that, just kick me :-)

Oh, and something else: if you look at the X11 client code, you'll see 
the 'close_container' is exactly how i made the GTK like, just local 
changes. Also the Gnome client prolly has the same bug as the GTK, since 
the close_container handles both the server event & the client button click.

Finally, i'm sorry if  the patch is weird, i couldn't find the correct 
diff option to strip first directory name...

Thanks to all developers for the game ^_-

Nicolas 'Ryo'
-------------- next part --------------
diff -r crossfire-cvs-original/client/gtk/gx11.c crossfire-cvs/client/gtk/gx11.c
< void close_container (item *op) 
      void do_close_container (item *op) 
      void close_container (item *op) 
<   }
< 			       GTK_SIGNAL_FUNC(close_container),

More information about the crossfire mailing list