diff --git a/Cocoa/BackstepTemplate.png b/Cocoa/BackstepTemplate.png
new file mode 100644
index 0000000..b5e4115
Binary files /dev/null and b/Cocoa/BackstepTemplate.png differ
diff --git a/Cocoa/BackstepTemplate@2x.png b/Cocoa/BackstepTemplate@2x.png
new file mode 100644
index 0000000..be08590
Binary files /dev/null and b/Cocoa/BackstepTemplate@2x.png differ
diff --git a/Cocoa/Document.h b/Cocoa/Document.h
index a539fc9..2546cb9 100644
--- a/Cocoa/Document.h
+++ b/Cocoa/Document.h
@@ -67,6 +67,7 @@
@property IBOutlet GBDebuggerButton *debuggerNextButton;
@property IBOutlet GBDebuggerButton *debuggerStepButton;
@property IBOutlet GBDebuggerButton *debuggerFinishButton;
+@property (strong) IBOutlet GBDebuggerButton *debuggerBackstepButton;
+ (NSImage *) imageFromData:(NSData *)data width:(NSUInteger) width height:(NSUInteger) height scale:(double) scale;
diff --git a/Cocoa/Document.m b/Cocoa/Document.m
index 789ed32..7225650 100644
--- a/Cocoa/Document.m
+++ b/Cocoa/Document.m
@@ -2617,6 +2617,7 @@ static bool is_path_writeable(const char *path)
self.debuggerNextButton.enabled = true;
self.debuggerStepButton.enabled = true;
self.debuggerFinishButton.enabled = true;
+ self.debuggerBackstepButton.enabled = true;
}
else {
self.debuggerContinueButton.toolTip = self.debuggerContinueButton.title = @"Interrupt";
@@ -2630,6 +2631,7 @@ static bool is_path_writeable(const char *path)
self.debuggerNextButton.enabled = false;
self.debuggerStepButton.enabled = false;
self.debuggerFinishButton.enabled = false;
+ self.debuggerBackstepButton.enabled = false;
}
if (updateContinue) {
[self.debuggerContinueButton mouseEntered:nil];
diff --git a/Cocoa/Document.xib b/Cocoa/Document.xib
index 339c441..355fb9f 100644
--- a/Cocoa/Document.xib
+++ b/Cocoa/Document.xib
@@ -15,6 +15,7 @@
+
@@ -221,6 +222,18 @@
+
@@ -786,7 +799,7 @@