From e1bea92ac918ca77e842a93beb8acb6ebdd63f02 Mon Sep 17 00:00:00 2001 From: terencehill Date: Fri, 2 Jul 2010 11:14:48 +0200 Subject: [PATCH] Fix a bug in the address field of the Servers dialog: After the info dialog of a server has been opened by right click (not by space), the address field cannot be edited anymore. listbox believed mouse key was still pressed after the dialog spawned. --- qcsrc/menu/item/listbox.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/qcsrc/menu/item/listbox.c b/qcsrc/menu/item/listbox.c index 4d6174cc59..ba3fa6a9f2 100644 --- a/qcsrc/menu/item/listbox.c +++ b/qcsrc/menu/item/listbox.c @@ -7,6 +7,7 @@ CLASS(ListBox) EXTENDS(Item) METHOD(ListBox, mousePress, float(entity, vector)) METHOD(ListBox, mouseDrag, float(entity, vector)) METHOD(ListBox, mouseRelease, float(entity, vector)) + METHOD(ListBox, focusLeave, void(entity)) ATTRIB(ListBox, focusable, float, 1) ATTRIB(ListBox, selectedItem, float, 0) ATTRIB(ListBox, size, vector, '0 0 0') @@ -188,6 +189,13 @@ float ListBox_mouseRelease(entity me, vector pos) me.pressed = 0; return 1; } +void ListBox_focusLeave(entity me) +{ + // Reset the var pressed in case listbox loses focus + // by a mouse click on an item of the list + // for example showing a dialog on right click + me.pressed = 0; +} void ListBox_updateControlTopBottom(entity me) { float f; -- 2.39.2