[XForms] New pre-release 1.0.91pre5

Jens Thoms Toerring jt at toerring.de
Wed Apr 9 21:27:27 EDT 2008

To subscribers of the xforms list

Hello everybody,

   I guess it's about time for a new pre-release, so here you go:


   Again, there aren't any dramatic changes. Due to some very
constructive criticism by Michal Szymanski I undid some of the
changes I made:

a) I had made buttons only react to the left mouse button. My
   idea behind this was to make XForms' behaviour more similar
   to that of other toolkits with this. But it breaks some
   existing programs and therefore it's probably better to
   implement it differently. Per default buttons now again
   react to each and every mouse button (including the scroll
   wheel) as it used to be. But to make it possible to change
   that I added a new function

     void fl_set_button_mouse_buttons( FL_OBJECT * obj, int mb )

   The first argument is a pointer to the button object and the
   second determines which mouse buttons the button object will
   react to. It's the inclusive OR of

        ( 1 << ( FL_MBUTTONx - 1 ) )

   where the 'x' in 'FL_MBUTTONx' is a number between 1 and 5,
   with 1 for the left, 2 for the middle and 3 for the right
   mouse button. 4 stands for rotating the scroll wheel up and
   5 for down. For each of the bits set in 'mb' the button will
   react to clicks of the corresponding mouse button.

   Of course, there's also the 'reverse' function that lets you
   determine which mouse buttons a button reacts to, going by
   the name of

     int fl_set_button_mouse_buttons( FL_OBJECT * obj )

   The return value has the same meaning as the 'mb' value you
   pass to the other function.

b) The behaviour of the buttons can also be set via fdesign. If
   you look at the attributes of a button. When you select the
   button and press 'F1' and then click on the "Spec" tab rider
   you are able to select which mouse buttons the button will
   react to. The '.fd' files now contain for buttons that aren't
   set to the default behaviour (all mouse buttons work) an extra
   line, starting with 'mbuttons:' and followed by an integer
   with the value of 'mb' for the button.

c) Luckily the older fdesign versions don't seem to mind the
   extra line for buttons starting with 'mbuttons:'. But to make
   it easier to compile applications that are sensitive to these
   changes I added a new option to fdesign: '-xforms-version'.
   This writes the version of the library fdesign was linked
   against to stderr in a form like

     FORMS Library Version 1.0.91pre5

d) Also making one of a group of radio buttons "active" automatically
   wasn't such a great idea as I had imagined. So I simply removed
   this, reverting back to the original behaviour.

e) Michal Szymanski also found out that if you started an appli-
   cation with a lot of options the program did crash with a
   segmentation fault in fl_initialize(). It looks as if this
   was due to not enough memory getting allocated for the copy
   of the command line arguments done in a function invoked by

f) I removed the limitation on both the number of symbols that
   can be created (formerly 16) and the length of their names
   (formerly 15 characters).

g) I got a bit further in my quest to free all memory allocated by
   the library at least on fl_finish() - all memory allocated for
   tabfolders now (hopefully) gets released.

h) Finally - shame on my - there was a bug I introduced that re-
   sulted in a program hanging when a menu entry contained a '%'.

                   Best regards and happy testing, Jens
  \   Jens Thoms Toerring  ________      jt at toerring.de
   \_______________________________      http://toerring.de
To unsubscribe, send any message to
xforms-leave at bob.usuhs.mil or see: 
List Archive: http://bob.usuhs.mil/pipermail/xforms and
Development: http://savannah.nongnu.org/files/?group=xforms

More information about the Xforms mailing list