summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xamiga/gui.c14
-rw-r--r--amiga/options.h6
2 files changed, 17 insertions, 3 deletions
diff --git a/amiga/gui.c b/amiga/gui.c
index bd46b8b53..dfd7496b4 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -107,6 +107,7 @@ struct PopupMenuIFace *IPopupMenu = NULL;
struct BitMap *throbber = NULL;
ULONG throbber_width,throbber_height,throbber_frames;
+BOOL rmbtrapped;
static struct RastPort dummyrp;
struct IFFHandle *iffh = NULL;
@@ -509,6 +510,12 @@ void ami_handle_msg(void)
if((x>=xs) && (y>=ys) && (x<width+xs) && (y<height+ys))
{
+ if(option_context_menu && rmbtrapped == FALSE)
+ {
+ SetAttrs(gwin->objects[OID_MAIN],WA_RMBTrap,TRUE);
+ rmbtrapped=TRUE;
+ }
+
if(gwin->mouse_state & BROWSER_MOUSE_PRESS_1)
{
browser_window_mouse_track(gwin->bw,BROWSER_MOUSE_DRAG_1 | gwin->key_state,x,y);
@@ -526,6 +533,12 @@ void ami_handle_msg(void)
}
else
{
+ if(option_context_menu && rmbtrapped == TRUE)
+ {
+ SetAttrs(gwin->objects[OID_MAIN],WA_RMBTrap,FALSE);
+ rmbtrapped=FALSE;
+ }
+
if(!gwin->mouse_state) ami_update_pointer(gwin->win,GUI_POINTER_DEFAULT);
}
break;
@@ -1926,6 +1939,7 @@ void gui_window_update_extent(struct gui_window *g)
ULONG cur_tab = 0;
if(!g) return;
+ if(!g->shared->bw->current_content) return;
if(g->tab_node) GetAttr(CLICKTAB_Current,g->shared->gadgets[GID_TABS],(ULONG *)&cur_tab);
diff --git a/amiga/options.h b/amiga/options.h
index 7a74c2b68..56086be4c 100644
--- a/amiga/options.h
+++ b/amiga/options.h
@@ -28,7 +28,7 @@ extern int option_modeid;
extern char *option_theme;
extern bool option_no_iframes;
extern bool option_utf8_clipboard;
-extern int option_throbber_frames; // unused
+extern bool option_context_menu;
extern bool option_truecolour_mouse_pointers;
extern bool option_use_os_pointers;
extern bool option_force_tabs;
@@ -45,7 +45,7 @@ int option_modeid = 0; \
char *option_theme = 0; \
bool option_no_iframes = false; \
bool option_utf8_clipboard = false; \
-int option_throbber_frames = 1; \
+bool option_context_menu = false; \
bool option_truecolour_mouse_pointers = true; \
bool option_use_os_pointers = false; \
bool option_force_tabs = false; \
@@ -62,7 +62,7 @@ char *option_recent_file = 0; \
{ "theme", OPTION_STRING, &option_theme}, \
{ "no_iframes", OPTION_BOOL, &option_no_iframes}, \
{ "clipboard_write_utf8", OPTION_BOOL, &option_utf8_clipboard}, \
-{ "throbber_frames", OPTION_INTEGER, &option_throbber_frames}, \
+{ "context_menu", OPTION_BOOL, &option_context_menu}, \
{ "truecolour_mouse_pointers", OPTION_BOOL, &option_truecolour_mouse_pointers}, \
{ "os_mouse_pointers", OPTION_BOOL, &option_use_os_pointers}, \
{ "always_open_tabs", OPTION_BOOL, &option_force_tabs}, \