*** ./src/main.c.ORIG Sun Sep 3 12:11:50 2017 --- ./src/main.c Mon May 27 15:55:22 2019 *************** *** 195,201 **** /* required prototypes */ void render_pixmap(int reset_pos); void cb_nextprev_tagged_image(int next,int view); ! gint idle_xvpic_load(int *entryp); gint pic_win_resized(GtkWidget *widget,GdkEventConfigure *event); void cb_scaling_double(void); void cb_xscaling_double(void); --- 195,201 ---- /* required prototypes */ void render_pixmap(int reset_pos); void cb_nextprev_tagged_image(int next,int view); ! gboolean idle_xvpic_load(gpointer data); gint pic_win_resized(GtkWidget *widget,GdkEventConfigure *event); void cb_scaling_double(void); void cb_xscaling_double(void); *************** *** 2138,2145 **** idle_xvpic_lastadjval=gtk_clist_get_vadjustment(GTK_CLIST(clist))->value; idle_xvpic_jumped=0; entry=0; ! tn_idle_tag=gtk_idle_add((GtkFunction)idle_xvpic_load,&entry); ! /* the "" is a crappy way to disable it, but it's hairy otherwise */ gtk_statusbar_push(GTK_STATUSBAR(statusbar),tn_id, tn_msgs?"Reading thumbnails...":""); --- 2138,2144 ---- idle_xvpic_lastadjval=gtk_clist_get_vadjustment(GTK_CLIST(clist))->value; idle_xvpic_jumped=0; entry=0; ! tn_idle_tag=gtk_idle_add(idle_xvpic_load, &entry); /* the "" is a crappy way to disable it, but it's hairy otherwise */ gtk_statusbar_push(GTK_STATUSBAR(statusbar),tn_id, tn_msgs?"Reading thumbnails...":""); *************** *** 2574,2580 **** } ! gint idle_xvpic_load(int *entryp) { static char buf[1024]; struct clist_data_tag *datptr; --- 2573,2579 ---- } ! gint idle_xvpic_load(gpointer data) { static char buf[1024]; struct clist_data_tag *datptr; *************** *** 2585,2596 **** static unsigned char xvpic_data[80*60]; /* max thumbnail size */ float adjval; static int prev_scanpos=0; /* if jumped, saved pos in top-to-bot scan */ idle_xvpic_called=1; /* don't do it if it would be a bad time */ if(idle_xvpic_blocked) ! return 0; /* freeze/thaw actually *cause* flickering for this, rather than * preventing it (!), so I've not used those here. --- 2584,2596 ---- static unsigned char xvpic_data[80*60]; /* max thumbnail size */ float adjval; static int prev_scanpos=0; /* if jumped, saved pos in top-to-bot scan */ + int *entryp = data; idle_xvpic_called=1; /* don't do it if it would be a bad time */ if(idle_xvpic_blocked) ! return TRUE; /* freeze/thaw actually *cause* flickering for this, rather than * preventing it (!), so I've not used those here. *************** *** 3264,3269 **** --- 3264,3271 ---- gtk_clist_moveto(GTK_CLIST(clist),row,0,0.5,0.); } } + + return TRUE; }