SBP
unread,Oct 10, 2016, 9:37:38 PM10/10/16You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to xforms-de...@nongnu.org
Hi there!
I include here two patches for your consideration.
The first one fixes a bug wherein replacing a menu item in fdesign
causes a segfault.
<<PATCH
--- sp_menu.c~ 2013-12-14 07:25:52.000000000 -0600
+++ sp_menu.c 2016-10-10 19:15:47.711711103 -0500
@@ -436,7 +436,7 @@
fl_replace_menu_item( curobj, k, s );
- fl_set_menu_item_shortcut( menu_attrib->vdata, k, sc );
+ fl_set_menu_item_shortcut( curobj, k, sc );
fl_set_menu_item_mode( curobj, k, get_pupmode_value( mode ) );
PATCH
The second one recomputes the formbrowser max_width after deletion of a
form. It is consistent to recompute max_width to the maximum of all
form widths, as adding a form sets it this way. I couldn't find another
way to reset max_width, and I need this because I'm resizing forms
inside a formbrowser and I want the scrollbars to match the size of the
form.
<<PATCH
--- formbrowser.c~ 2013-12-10 03:02:09.000000000 -0600
+++ formbrowser.c 2016-10-10 20:19:22.718870954 -0500
@@ -1000,10 +1000,16 @@
delete_form( FLI_FORMBROWSER_SPEC * sp,
int f )
{
+ int i;
+
fl_hide_form( sp->form[ f ] );
sp->form[ f ]->attached = 0;
sp->nforms--;
sp->max_height -= sp->form[ f ]->h;
+ sp->max_width = 0;
+ for ( i = 0; i < sp->nforms; i++ )
+ if( sp->form[ f ]->w > sp->max_width )
+ sp->max_width = sp->form[ f ]->w;
for ( ; f < sp->nforms; f++ )
sp->form[ f ] = sp->form[ f + 1 ];
sp->form = fl_realloc( sp->form, sizeof *sp->form * sp->nforms );
PATCH
Hope you find these useful and they get upstream!
Cheers!
Sirius