GTK-server Changelog

New in version 2.3.1 SR

February 10th, 2009
  • Corrections in documentation and manpages (2.3.1 Second Release).
  • Standardized all 'config.h' macros because of conflict with newer GCC versions (2.3.1 Second Release).
  • Cleaned up redundant C macros (2.3.1 Second Release)

New in version 2.3.1 (January 2nd, 2009)

  • Added 'gtk_server_toolkit' command to retrieve backend for which GTK-server was compiled . Arguments 'MACRO'-'DATA' are also usable for Xforms now . Make sure the 'MACRO'/'DATA' callbacks are not reading from illegal memory . Fixed minor bug with counting linenumbers when parsing configfile . Added option to define aliases for functionnames, so clientprograms can avoid collisions with existing statements . STDIN, FIFO, TCP and IPC interfaces can take and return any amount of data now . The UDP interface can take data as much as the system's Socket receive buffer size (SO_RCVBUF) . Fixed minor issues in stop-script with IPC GTK-server processes . 'gtk_server_macro_define'/'-redefine' to (re-)define macros on the fly, renamed 'gtk_server_macro' to '-_var' to get value of variables . Added '-sock' mode to connect as TCP client (idea Danie Brink) . Withdrawn the READLINE option as scripts using STDIN ran into inconsistent programs, use external 'rlwrap' instead . Upgraded to uthash 1.4 ( . Major code cleanup for returning info to client, improving simplicity, readability and performance . Added commandline option '-start' to start GTK-server with a macro (idea Danie Brink) . 'gtk_server_os' to determine platform where GTK-server is running (idea Danie Brink) . Added commandline option '-init' to send string in '-sock' mode (idea Danie Brink) . Added support for SSL in '-sock' mode (idea Danie Brink) . Using the GTK functionnames as keys for UTHASH; less code, best reliability for unique keys . Fixed bug with XForms initialization in LIB mode . Base64 decoder can decode unlimited amount of data . Fixed bug: using 'gtk_server_require' multiple times would overwrite eachother . Added option '-this' to run standalone configfile using shebang . Compilation without GTK/Xforms/X is possible now, console mode for opening any library in a script . Added '-handle' so client can send unique identifier per request (synchronize communication, UDP, debugging) . XForms can get key, mouse events and coordinates too . Adjusted size for XForms Error dialog, it didn't show all errors correctly . Key events and scrollbutton events (GTK) were optimized so they can return any user defined string . Fixed bug: remove the check on negative numbers in LIB interface, this check prevented UTF-8 to be accepted . MacOSX: adjustments in makefile and configurescripts . MacOSX: changed retrieval of mouse button, MacOSX does not pass all GdkModifierTypes (no X but Quartz!) . MacOSX, BSD, Solaris: self-spawning not always works, now use '-detach' to try to selfspawn, shells use ampersand '&'

New in version 2.2.8 (October 31st, 2008)

  • Added support for DynCall (
  • Fixed potential bug in defining new GTK functions with 'gtk_server_define'
  • Removed 'ok' from returnstring when PTR_* argument contains result
  • VOID is also legal returnvalue for function
  • POINTER as valid argumenttype and returnvalue for generic pointers from GLib calls and some non-GTK libs
  • Returnvalue of 'gtk_server_require' will give 'ok', or errorstring (for debugging)
  • Less memory usage in PTR_* return code
  • Macros can use COMPARE to compare variables
  • Improved some errormessages, added more function definitions to configfile
  • Fixed bug with LONG typecast and FFCALL
  • Fixed bug with some erronous array declarations
  • Added possibility to register GtkDataFuncs (user functions), introducing 'MACRO' and 'DATA' as argument type
  • Check on duplicate macro names during startup
  • Hotfix: space between results when GTK function returns value and also uses PTR_ arguments
  • Hotfix: removed unnecessary free in Print_Error routine for Win32

New in version 2.2.7 (August 31st, 2008)

  • Bugfix: gtk_server_require would overwrite library statically compiled in
  • Minor fix in 'gen_conf' script so it does not add logdir anymore
  • Added 'libm' to default configfile, also some of it's math functions (easy for shellscripts)
  • Added ability to define enumerations 'ENUM_NAME' in configfile
  • XForms: improved demoscripts, added OpenGL demoscripts
  • XForms bugfix: initialize library before the first Print_Error occurs
  • Corrected definition of 'glTranslatef' in configfile, compilation with FFI revealed this bug
  • Added librarypath when compiling for 64bit platform (XForms)
  • Put code in place for static compilation in Win32
  • Removed workaround code to fallback to STRING if LONG was not detected (use 'gtk_server_redefine' instead)
  • Upgraded to uthash 1.3 (
  • Make strong differentiation between LONG and INT (important for Win32 platforms)
  • Generate error when argument type is not recognized
  • Bugfix: static compilation with GTK1/Xforms using C/Invoke crashed because of uninitialized context
  • Hotfix: on 64-bit platforms explicitely cast to 'INT' with gtk_server_callback_value
  • Hotfix: Valgrind detects illegal write of 1 byte in macro parser
  • Hotfix: initialize max arguments to NULL for each new GTK function, else redefintion may crash