[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[XForms] Canvas / button interaction
From: |
Clive Stubbings |
Subject: |
[XForms] Canvas / button interaction |
Date: |
Thu, 9 Feb 2012 11:14:59 +0000 (GMT) |
I have recently been doing that dreaded periodic fork-lift linux update. It
always throws up some troublesome issues. This one is particularly wierd.
I have an old app, been working for years. Tried running it on a new system and
various bits of the gui didn't display right. It looked like a 'flush' issue
but fl_update_display() did not help.
.
However the issue shows up even if I run the old app on the old system but put
just the display over the network onto the new platform. New platform is Arch
Linux. Building against different libraries didn't change anything. The arch
xforms package is 1.0.94pre4-1, I was using something older..
I boiled it down to the example below. If the canvas object is created then the
checkbutton does not light when you press it. If the canvas object is not
created, the check button works fine. I believe that the object sees the mouse
button press because in the bigger app, I could see callbacks happening.
On my old system this works fine in both cases. So my take is this is an X
server interaction issue with a new Xorg. The X is X.Org X Server 1.11.4
Release Date: 2012-01-27, X Protocol Version 11, Revision 0.
Or am I missing something obvious.
Anyone got any ideas?
/*
If I build
gcc test1.c -lforms -o test1
the button works, but if I build
gcc -DCANVAS test1.c -lforms -o test1
It doesn't..
*/
#include <stdio.h>
#include <forms.h>
typedef struct {
FL_FORM *main;
void *vdata;
char *cdata;
long ldata;
FL_OBJECT *image;
FL_OBJECT *toggle;
} FD_main;
FD_main *create_form_main(void)
{
FL_OBJECT *obj;
FD_main *fdui = (FD_main *) fl_calloc(1, sizeof(*fdui));
fdui->main = fl_bgn_form(FL_NO_BOX, 300, 200);
obj = fl_add_box(FL_UP_BOX,0,0,1010,565,"");
#ifdef CANVAS
fdui->image = obj = fl_add_canvas(FL_NORMAL_CANVAS,10,10,80,50,"");
#endif
fdui->toggle = obj =
fl_add_checkbutton(FL_PUSH_BUTTON,190,20,40,40,"Check");
fl_end_form();
fdui->main->fdui = fdui;
return fdui;
}
main(int argc, char *argv[])
{
FD_main *maingui;
fl_initialize(&argc, argv, "Test", NULL, 0);
maingui= create_form_main();
fl_show_form(maingui->main,FL_PLACE_POSITION,FL_FULLBORDER,"test");
while (1) {
fl_do_forms();
}
}
-----------------------
Cheers
Clive
- [XForms] Canvas / button interaction,
Clive Stubbings <=
- Re: [XForms] Canvas / button interaction, Paul, 2012/02/09
- Re: [XForms] Canvas / button interaction, Jens Thoms Toerring, 2012/02/09
- Re: [XForms] Canvas / button interaction, Ivan Powis, 2012/02/09
- Re: [XForms] Canvas / button interaction, Clive Stubbings, 2012/02/09
- Re: [XForms] Canvas / button interaction, Jens Thoms Toerring, 2012/02/09
- Re: [XForms] Canvas / button interaction, Ivan Powis, 2012/02/09
- Re: [XForms] Canvas / button interaction, Clive Stubbings, 2012/02/09
- Re: [XForms] Canvas / button interaction, Paul Nicholson, 2012/02/09
- Re: [XForms] Canvas / button interaction, Clive Stubbings, 2012/02/09
- Re: [XForms] Canvas / button interaction, Clive Stubbings, 2012/02/09