View Single Post
Old 11-15-2008, 10:19 AM   #47
Antartica
Evangelist
Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.Antartica ought to be getting tired of karma fortunes by now.
 
Antartica's Avatar
 
Posts: 423
Karma: 1517132
Join Date: Jun 2006
Location: Madrid, Spain
Device: quaderno, remarkable2, yotaphone2, prs950, iliad, onhandpc, newton
Quote:
Originally Posted by ericshliao View Post
I think the problem should be caused by the thread for preloading has not completed when shifting to next image.
It has nothing to do with GTK+ or xepdmgr.
I think you can avoid the artifact deactivating the autorefresh while updating the image (that is, using the functions declared in xepdmgrclient.h):
Code:
#include "xepdmgrclinet.h"

sEpd *Epd=NULL;

int
main(int argc, char *argv);
{
   if((Epd=EpdInit(NULL))==NULL)
      return(1); /*ERROR */
   /* ... here goes your program ... */
   EpdFini(Epd);
}

int
your_preload_thread()
{
   EpdRefreshAuto(Epd,0);
   /* Do the preload */
   /* ... */
   EpdRefreshAuto(Epd,1);
}
If I have not understood wrongly the problem, that should do it.

But it would be better having the display only updated when the preload has completed, of course .

Last edited by Antartica; 09-13-2009 at 04:07 PM. Reason: Fix "if((Epd=EpdInit(NULL))=NULL)"; it should read "if((Epd=EpdInit(NULL))==NULL)".
Antartica is offline   Reply With Quote