diff options
Diffstat (limited to 'src/ui/documentwidget.c')
-rw-r--r-- | src/ui/documentwidget.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c index 2e51f253..90c270fc 100644 --- a/src/ui/documentwidget.c +++ b/src/ui/documentwidget.c | |||
@@ -545,7 +545,7 @@ void setUrlFromCache_DocumentWidget(iDocumentWidget *d, const iString *url, iBoo | |||
545 | } | 545 | } |
546 | } | 546 | } |
547 | 547 | ||
548 | iDocumentWidget *duplicate_DocumentWidget(iDocumentWidget *orig) { | 548 | iDocumentWidget *duplicate_DocumentWidget(const iDocumentWidget *orig) { |
549 | iDocumentWidget *d = new_DocumentWidget(); | 549 | iDocumentWidget *d = new_DocumentWidget(); |
550 | delete_History(d->history); | 550 | delete_History(d->history); |
551 | d->textSizePercent = orig->textSizePercent; | 551 | d->textSizePercent = orig->textSizePercent; |
@@ -1060,7 +1060,7 @@ static iBool processEvent_DocumentWidget_(iDocumentWidget *d, const SDL_Event *e | |||
1060 | return iTrue; | 1060 | return iTrue; |
1061 | } | 1061 | } |
1062 | } | 1062 | } |
1063 | processContextMenuEvent_Widget(d->menu, ev); | 1063 | processContextMenuEvent_Widget(d->menu, ev, d->hoverLink = NULL); |
1064 | switch (processEvent_Click(&d->click, ev)) { | 1064 | switch (processEvent_Click(&d->click, ev)) { |
1065 | case started_ClickResult: | 1065 | case started_ClickResult: |
1066 | d->selecting = iFalse; | 1066 | d->selecting = iFalse; |
@@ -1084,6 +1084,9 @@ static iBool processEvent_DocumentWidget_(iDocumentWidget *d, const SDL_Event *e | |||
1084 | return iTrue; | 1084 | return iTrue; |
1085 | } | 1085 | } |
1086 | case finished_ClickResult: | 1086 | case finished_ClickResult: |
1087 | if (isVisible_Widget(d->menu)) { | ||
1088 | closeMenu_Widget(d->menu); | ||
1089 | } | ||
1087 | if (!isMoved_Click(&d->click)) { | 1090 | if (!isMoved_Click(&d->click)) { |
1088 | if (d->hoverLink) { | 1091 | if (d->hoverLink) { |
1089 | const iGmLinkId linkId = d->hoverLink->linkId; | 1092 | const iGmLinkId linkId = d->hoverLink->linkId; |
@@ -1115,7 +1118,8 @@ static iBool processEvent_DocumentWidget_(iDocumentWidget *d, const SDL_Event *e | |||
1115 | refresh_Widget(w); | 1118 | refresh_Widget(w); |
1116 | } | 1119 | } |
1117 | else { | 1120 | else { |
1118 | postCommandf_App("open url:%s", | 1121 | postCommandf_App("open newtab:%d url:%s", |
1122 | (SDL_GetModState() & KMOD_PRIMARY) != 0, | ||
1119 | cstr_String(absoluteUrl_String( | 1123 | cstr_String(absoluteUrl_String( |
1120 | d->url, linkUrl_GmDocument(d->doc, linkId)))); | 1124 | d->url, linkUrl_GmDocument(d->doc, linkId)))); |
1121 | } | 1125 | } |