summaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorWerner Almesberger <werner@almesberger.net>2016-11-29 13:07:02 (GMT)
committerWerner Almesberger <werner@almesberger.net>2016-11-29 13:07:02 (GMT)
commitaaa81ab1fcf43f824f364ebbb80efed57b518ce9 (patch)
tree7b8cad85721ba72ed16950db4540d0b8869591c0 /gui
parent025d5951aabf6c69109c15ca3a13808820c57125 (diff)
downloadeeshow-aaa81ab1fcf43f824f364ebbb80efed57b518ce9.zip
eeshow-aaa81ab1fcf43f824f364ebbb80efed57b518ce9.tar.gz
eeshow-aaa81ab1fcf43f824f364ebbb80efed57b518ce9.tar.bz2
gui/sheet.c (show_key): don't change diff mode if we have no history
If we have no history, trying to change the diff mode through keyboard shortcuts crashed eeshow when trying to set up the revision overlays. Reported by Alvaro Gamez Machado.
Diffstat (limited to 'gui')
-rw-r--r--gui/sheet.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gui/sheet.c b/gui/sheet.c
index f89b4db..e521a95 100644
--- a/gui/sheet.c
+++ b/gui/sheet.c
@@ -630,21 +630,29 @@ static void sheet_key(void *user, int x, int y, int keyval)
break;
case GDK_KEY_n:
+ if (!have_history(gui))
+ break;
gui->diff_mode = diff_new;
do_revision_overlays(gui);
redraw(gui);
break;
case GDK_KEY_o:
+ if (!have_history(gui))
+ break;
gui->diff_mode = diff_old;
do_revision_overlays(gui);
redraw(gui);
break;
case GDK_KEY_d:
+ if (!have_history(gui))
+ break;
gui->diff_mode = diff_delta;
do_revision_overlays(gui);
redraw(gui);
break;
case GDK_KEY_D: /* Shift + D */
+ if (!have_history(gui))
+ break;
use_delta = !use_delta;
do_revision_overlays(gui);
redraw(gui);