diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts
index 3a481cd4..8ce5d7e9 100644
--- a/etc/Translation/Blank.ts
+++ b/etc/Translation/Blank.ts
@@ -3234,105 +3234,105 @@
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts
index 7ef095ef..f26f51ed 100644
--- a/etc/Translation/LameXP_PL.ts
+++ b/etc/Translation/LameXP_PL.ts
@@ -3235,105 +3235,105 @@
Zamknij
-
-
+
+
Build
-
+
Nieznana
-
+
Testowanie połączenia internetowego, prosze czekać...
-
-
+
+
LameXP wykrył brak dostępu do internetu!
-
-
+
+
Upewnij się że komputer jest podłączony do internetu i spróbuj ponownie.
-
+
Test połączenia internetowego zakończony niepowodzeniem!
-
+
Upewnij się że połączenie internetowe działa prawidłowo i spróbuj ponownie.
-
+
Sprawdzanie aktualizacji online, prosze czekać...
-
+
Pobieranie informacji z serwera zakończone niepowodzeniem!
-
+
Serwer aktualizacji wydaje się nie odpowiadać w tej chwili. Prosze spróbować później.
-
+
Więcej informacji tutaj:
-
+
Dostępna nowa wersja LameXP!
-
+
Jest wysoce zalecane aby zainstalować tę aktualizację jak najszybciej.
-
+
Nie ma nowych aktualizacji w tej chwili.
-
+
Posiadasz najnowszą wersję LameXP. Sprawdzaj aktualizacje regularnie!
-
+
Posiadasz nowszą wersję LameXP niż ostatnie wydanie.
-
+
To wskazuje na to, że posiadasz wersję alfa LameXP.
-
+
Pobieranie aktualizacji w toku, prosze czekać...
-
+
Aktualizacja gotowa do instalacji. Teraz program zostanie zamknięty...
-
+
Aktualizacja zakończona niepowodzeniem. Prosze spróbować ponownie lub zainstalować ręcznie!
diff --git a/etc/Translation/LameXP_SV.ts b/etc/Translation/LameXP_SV.ts
index 35d579c7..605b7f26 100644
--- a/etc/Translation/LameXP_SV.ts
+++ b/etc/Translation/LameXP_SV.ts
@@ -3236,105 +3236,105 @@
Stäng
-
-
+
+
Build
-
+
Okänd
-
+
Kontrollerar iInternetanslutningen, vänta...
-
-
+
+
Datorn verkar inte vara ansluten till Internet!
-
-
+
+
Tillse att datorn är ansluten till Internet och försök igen.
-
+
Anslutningskontrollen misslyckades!
-
+
Tillse att Internetuppkopplingen fungerar korrekt och försök igen.
-
+
Söker nya uppdateringar, vänta...
-
+
Kunde inte hämta uppdateringsinformation från servern!
-
+
Uppdateringsservern kan vara upptagen. Försök senare.
-
+
Mer information hittas på:
-
+
En ny version av LameXP finns tillgänglig!
-
+
Vi rekommenderar alla användare att installera denna uppdatering så snart som möjligt.
-
+
Det finns inga nya uppdateringar.
-
+
Din version av LameXP är uppdaterad. Kontrollera regelbundet!
-
+
Din version verkar vara nyare än senaste 'Release'.
-
+
Det innebär normalt att du använder en beta-version av LameXP.
-
+
Uppdatering laddas ner, vänta...
-
+
Uppdatering klar att installeras. Programmet kommer att avslutas...
-
+
Uppdateringen misslyckades. Försök igen, eller ladda ner manuellt!
diff --git a/src/Config.h b/src/Config.h
index 686c2879..b67debe9 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -30,7 +30,7 @@
#define VER_LAMEXP_MINOR_LO 6
#define VER_LAMEXP_TYPE Beta
#define VER_LAMEXP_PATCH 1
-#define VER_LAMEXP_BUILD 1137
+#define VER_LAMEXP_BUILD 1139
///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!)
diff --git a/src/Dialog_Update.cpp b/src/Dialog_Update.cpp
index 5ede6331..acea2d74 100644
--- a/src/Dialog_Update.cpp
+++ b/src/Dialog_Update.cpp
@@ -42,6 +42,7 @@
#include
#include
#include
+#include
///////////////////////////////////////////////////////////////////////////////
@@ -91,12 +92,14 @@ static const char *known_hosts[] = //Taken form: http://www.alexa.com/topsites
"http://www.bing.com/",
"http://www.cnet.com/",
"http://cnzz.com/",
+ "http://qt.digia.com/",
"http://www.ebay.com/",
"http://www.equation.com/",
"http://fc2.com/",
"http://www.ffmpeg.org/",
"http://www.flickr.com/",
"http://www.gitorious.org/",
+ "http://git-scm.com/",
"http://www.gnome.org/",
"http://www.gnu.org/",
"http://go.com/",
@@ -114,13 +117,14 @@ static const char *known_hosts[] = //Taken form: http://www.alexa.com/topsites
"http://www.livejournal.com/",
"http://mail.ru/",
"http://www.mediafire.com/",
- "http://www.mozilla.org/",
+ "http://www.mozilla.org/en-US/",
"http://mplayerhq.hu/",
"http://www.msn.com/?st=1",
"http://oss.netfarm.it/",
"http://www.nytimes.com/",
"http://www.opera.com/",
"http://www.quakelive.com/",
+ "http://qt-project.org/",
"http://www.seamonkey-project.org/",
"http://www.sina.com.cn/",
"http://www.sohu.com/",
@@ -141,6 +145,7 @@ static const char *known_hosts[] = //Taken form: http://www.alexa.com/topsites
"http://www.yandex.ru/",
"http://www.youtube.com/",
"http://www.zedo.com/",
+ "http://ffmpeg.zeranoe.com/",
NULL
};
@@ -420,7 +425,7 @@ void UpdateDialog::checkForUpdates(void)
hostList << QString::fromLatin1(known_hosts[i]);
}
- qsrand(time(NULL));
+ qsrand(lamexp_mix(clock(), time(NULL), _getpid()));
while(!hostList.isEmpty())
{
QString currentHost = hostList.takeAt(qrand() % hostList.count());
@@ -481,10 +486,10 @@ void UpdateDialog::checkForUpdates(void)
mirrorList << QString::fromLatin1(update_mirrors_prim[index]);
}
- qsrand(GetTickCount() ^ ((DWORD)time(NULL)));
+ qsrand(lamexp_mix(clock(), time(NULL), _getpid()));
if(const int len = mirrorList.count())
{
- const int rounds = len * 16;
+ const int rounds = len * 1097;
for(int i = 0; i < rounds; i++)
{
mirrorList.swap(i % len, qrand() % len);
diff --git a/src/Global.cpp b/src/Global.cpp
index 966e57fd..8fd39d32 100644
--- a/src/Global.cpp
+++ b/src/Global.cpp
@@ -2206,6 +2206,29 @@ QStringList lamexp_available_codepages(bool noAliases)
return codecList;
}
+/*
+ * Robert Jenkins' 96 bit Mix Function
+ * Source: http://www.concentric.net/~Ttwang/tech/inthash.htm
+ */
+unsigned int lamexp_mix(const unsigned int x, const unsigned int y, const unsigned int z)
+{
+ unsigned int a = x;
+ unsigned int b = y;
+ unsigned int c = y;
+
+ a=a-b; a=a-c; a=a^(c >> 13);
+ b=b-c; b=b-a; b=b^(a << 8);
+ c=c-a; c=c-b; c=c^(b >> 13);
+ a=a-b; a=a-c; a=a^(c >> 12);
+ b=b-c; b=b-a; b=b^(a << 16);
+ c=c-a; c=c-b; c=c^(b >> 5);
+ a=a-b; a=a-c; a=a^(c >> 3);
+ b=b-c; b=b-a; b=b^(a << 10);
+ c=c-a; c=c-b; c=c^(b >> 15);
+
+ return c;
+}
+
/*
* Entry point checks
*/
diff --git a/src/Global.h b/src/Global.h
index 00aa7eed..982ae057 100644
--- a/src/Global.h
+++ b/src/Global.h
@@ -155,6 +155,7 @@ bool lamexp_themes_enabled(void);
void lamexp_blink_window(QWidget *poWindow, unsigned int count = 10, unsigned int delay = 150);
const QString lamexp_clean_filename(const QString &str);
const QString lamexp_clean_filepath(const QString &str);
+unsigned int lamexp_mix(const unsigned int x, const unsigned int y, const unsigned int z);
//Debug-only functions
SIZE_T lamexp_dbg_private_bytes(void);