Hello,

I need some help.

I have written a multithreaded draw application with a special draw method 
(1.3RC3/ Linux)
That's my derived class for the drawing enviroment:

class DrawArea : public Fl_Widget 
{
 private:
 short SENR_;
 long  CallAdr_;
 public:    
 void callDrSub(short SENR, long CallAdr);   
 void draw() { callDrSub(SENR_, CallAdr_);} 
 void SetSENR(short senr){ SENR_ = senr;}
 void SetCallAdr( long calladr) {CallAdr_ = calladr;}
 
 DrawArea(int X,int Y,int W,int H, long sernr, long calladr) : 
Fl_Widget(X,Y,W,H) 
{
 SENR_ = sernr; 
 CallAdr_=calladr;
}
};
 
void DrawArea::callDrSub(short SENR, long CallAdr)
{
 callDvsub(SENR, CallAdr); // sends a message to a second thread .. no direct 
draw actions.
}

A second thread does all drawings after receiving a message ... followed by a 
redraw and awake call.
But this call sequence starts the draw() method again and again.

When I remove the awake call ... partial demagings of the draw area are not 
recognized.
The actions of the main and second thread are protected by fl_lock and 
fl_unlock calls.

What's wrong ?

--Armin
___________________________________________________________
WEB.DE DSL Doppel-Flat ab 19,99 €/mtl.! Jetzt mit 
gratis Handy-Flat! http://produkte.web.de/go/DSL_Doppel_Flatrate/2

_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to