diff --git a/game/engines/default/engine/Mouse.lua b/game/engines/default/engine/Mouse.lua index 466437770559e4ed8d65d858aa8645deb189bedb..94491ada4915d478d8412453494f1bed1efbe9cb 100644 --- a/game/engines/default/engine/Mouse.lua +++ b/game/engines/default/engine/Mouse.lua @@ -92,6 +92,7 @@ function _M:delegate(button, mx, my, xrel, yrel, bx, by, event, name, extra) my = my - oy if event == "button" then self:receiveMouse(button, mx, my, true, name, extra) + elseif event == "button-down" then self:receiveMouse(button, mx, my, false, name, extra) elseif event == "motion" then self:receiveMouseMotion(button, mx, my, xrel, yrel, name, extra) end end diff --git a/game/engines/default/engine/ui/Dialog.lua b/game/engines/default/engine/ui/Dialog.lua index f346127c668198fda259497415b6771d2f64a733..19a6f4b04cedeaab9b860c20f407ffa797bff34f 100644 --- a/game/engines/default/engine/ui/Dialog.lua +++ b/game/engines/default/engine/ui/Dialog.lua @@ -317,6 +317,7 @@ function _M:generate() self:updateTitle(self.title) + self.mouse:allowDownEvent(true) if self.absolute then self.mouse:registerZone(0, 0, gamew, gameh, function(button, x, y, xrel, yrel, bx, by, event) self:mouseEvent(button, x, y, xrel, yrel, bx - self.display_x, by - self.display_y, event) end) else diff --git a/game/engines/default/engine/ui/WebView.lua b/game/engines/default/engine/ui/WebView.lua index 557f17b4ca90632f6481170f98ef9f7a799c676e..01c09341640911375958e71c567416cd2d5852a2 100644 --- a/game/engines/default/engine/ui/WebView.lua +++ b/game/engines/default/engine/ui/WebView.lua @@ -34,6 +34,7 @@ function _M:init(t) self.never_clean = t.never_clean self.allow_popup = t.allow_popup self.allow_login = t.allow_login + if self.allow_login == nil then self.allow_login = true end if self.allow_login and self.url:find("^http://te4%.org/") and profile.auth then local param = "_te4ah="..profile.auth.hash.."&_te4ad="..profile.auth.drupid @@ -80,14 +81,15 @@ function _M:generate() end self.loading_icon = self:getUITexture("ui/waiter/loading.png") + self.mouse:allowDownEvent(true) self.mouse:registerZone(0, 0, self.w, self.h, function(button, x, y, xrel, yrel, bx, by, event) if not self.view then return end if event == "button" then if button == "wheelup" then self.scroll_inertia = math.min(self.scroll_inertia, 0) - 5 elseif button == "wheeldown" then self.scroll_inertia = math.max(self.scroll_inertia, 0) + 5 - elseif button == "left" then self.view:injectMouseButton(false, 1) self.view:injectMouseButton(true, 1) - elseif button == "middle" then self.view:injectMouseButton(false, 2) self.view:injectMouseButton(true, 2) - elseif button == "right" then self.view:injectMouseButton(false, 3) self.view:injectMouseButton(true, 3) + elseif button == "left" then self.view:injectMouseButton(true, 1) + elseif button == "middle" then self.view:injectMouseButton(true, 2) + elseif button == "right" then self.view:injectMouseButton(true, 3) end elseif event == "button-down" then if button == "wheelup" then self.scroll_inertia = math.min(self.scroll_inertia, 0) - 5