Commit cbf1e7cc authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Make --draw-actions not crash the program

parent 388aef83
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -9,9 +9,8 @@ overlay reminder showing what each one does :p

key/option/signal/timeout to totally reload filelist (rescan directories etc)

--draw-actions doesn't work. It will miss some actions, and even if not it
can't display anything anyway because it causes a nice abort at startup if
--action is defined.
--draw-actions doesn't work too fine. It conflicts with --draw-filename and
misses some actions if there are non-defined actions in between

The "No more slides left in show" bug was fixed, but now there's a rare
condition (viewing a few images, removing them externally while viewing,
+13 −16
Original line number Diff line number Diff line
@@ -1213,7 +1213,7 @@ feh_draw_actions(winwidget w)

   D_ENTER(4);

// count the number of defined actions
// count the number of defined actions (this method sucks)
   for (num_actions=0;opt.actions[num_actions];num_actions++)
      ;
   if (num_actions == 0)
@@ -1238,18 +1238,17 @@ feh_draw_actions(winwidget w)
      D_RETURN_(4);
   }


   gib_imlib_get_text_size(fn, "defined actions:", NULL, &tw, &th,
                           IMLIB_TEXT_TO_RIGHT);
// Check for the widest line
   max_tw = tw;

   for (i = 0; opt.actions[i]; i++) {
      gib_imlib_get_text_size(fn, opt.actions[i], NULL, &tw, &th,
                              IMLIB_TEXT_TO_RIGHT);
   	if (tw>max_tw) {
      if (tw > max_tw)
         max_tw = tw;
   }
   }

   tw = max_tw;
   tw += 3;
@@ -1273,10 +1272,8 @@ feh_draw_actions(winwidget w)

   for(i = 0; i < num_actions; i++)
   {
//    compose a line containing an index, a colon followed by the
//    action.
      char index[1];
      char line[strlen(opt.actions[i])+5];
       char *line = emalloc(strlen(opt.actions[i])+5);
      sprintf(index, "%d", i);
      strcpy(line, index);
      strcat(line, ": ");