r2924 - trunk/data/qcsrc/menu-div0test/nexuiz
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Nov 9 04:49:24 EST 2007
Author: div0
Date: 2007-11-09 04:49:15 -0500 (Fri, 09 Nov 2007)
New Revision: 2924
Modified:
trunk/data/qcsrc/menu-div0test/nexuiz/serverlist.c
Log:
fix selection bugs when enabling/disabling the checkboxes
Modified: trunk/data/qcsrc/menu-div0test/nexuiz/serverlist.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/serverlist.c 2007-11-09 09:26:34 UTC (rev 2923)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/serverlist.c 2007-11-09 09:49:15 UTC (rev 2924)
@@ -145,7 +145,7 @@
}
void drawNexuizServerList(entity me)
{
- float i;
+ float i, found;
if(me.currentSortField == -1)
{
@@ -164,16 +164,32 @@
me.nItems = gethostcachevalue(SLIST_HOSTCACHEVIEWCOUNT);
me.connectButton.disabled = (me.nItems == 0);
- for(i = 0; i < me.nItems; ++i)
- if(gethostcachestring(SLIST_FIELD_CNAME, i) == me.selectedServer)
- {
- if(i != me.selectedItem)
+
+ found = 0;
+ if(me.selectedServer)
+ {
+ for(i = 0; i < me.nItems; ++i)
+ if(gethostcachestring(SLIST_FIELD_CNAME, i) == me.selectedServer)
{
- me.lastClickedServer = -1;
- me.selectedItem = i;
+ if(i != me.selectedItem)
+ {
+ me.lastClickedServer = -1;
+ me.selectedItem = i;
+ }
+ found = 1;
+ break;
}
- break;
+ }
+ if(!found)
+ if(me.nItems > 0)
+ {
+ if(me.selectedItem >= me.nItems)
+ me.selectedItem = me.nItems - 1;
+ if(me.selectedServer)
+ strunzone(me.selectedServer);
+ me.selectedServer = strzone(gethostcachestring(SLIST_FIELD_CNAME, me.selectedItem));
}
+
drawListBox(me);
}
void ServerList_PingSort_Click(entity btn, entity me)
More information about the nexuiz-commits
mailing list