]> skyeroc.xyz Git - dgamelaunch/commitdiff
Also ignore idle time < 5s when sorting by watchers.
authorPasi Kallinen <paxed@alt.org>
Sat, 29 Jan 2011 20:52:29 +0000 (20:52 +0000)
committerPasi Kallinen <paxed@alt.org>
Sat, 29 Jan 2011 20:52:29 +0000 (20:52 +0000)
git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@584 db0b04b0-f4d1-0310-9a6d-de3e77497b0e

dgl-common.c

index 28791118e3f569e29345074e5b78771637d49ee5..15aca76975202d89ef1bbc5daa70efc3ba0d5cc2 100644 (file)
@@ -453,6 +453,8 @@ sort_game_watchers(const void *g1, const void *g2)
     const struct dg_game *game1 = *(const struct dg_game **)g1;
     const struct dg_game *game2 = *(const struct dg_game **)g2;
     int i = dglsign(game2->nwatchers - game1->nwatchers);
+    if (!i && (sort_ctime - game1->idle_time < 5) && (sort_ctime - game2->idle_time < 5))
+       return strcasecmp(game1->name, game2->name);
     if (!i)
        i = dglsign(game2->idle_time - game1->idle_time);
     if (!i)
@@ -473,7 +475,10 @@ sort_games (struct dg_game **games, int len, dg_sortmode sortmode)
        break;
     case SORTMODE_STARTTIME: qsort(games, len, sizeof(struct dg_game *), sort_game_starttime); break;
 #ifdef USE_SHMEM
-    case SORTMODE_WATCHERS: qsort(games, len, sizeof(struct dg_game *), sort_game_watchers); break;
+    case SORTMODE_WATCHERS:
+       (void) time(&sort_ctime);
+       qsort(games, len, sizeof(struct dg_game *), sort_game_watchers);
+       break;
 #endif
     default: ;
     }