hobbyjobs / miranda

Automatically exported from code.google.com/p/miranda
0 stars 0 forks source link

[Jabber] Windows 8 #1626

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Jabber reports itself as:
Microsoft  (build 9200)
under Windows 8...

Original issue reported on code.google.com by hosteddinner on 24 Aug 2012 at 3:43

GoogleCodeExporter commented 9 years ago
@hosteddinner: Could you please try the attatched patch and tell me if it 
works? I copied some pieces of code from Crash Dumper and pasted it in the 
Jabber plugin, but I do not have someone with Windows 8 in my contact list.

I want someone to verify it before some it is committed

Original comment by wishmaster51 on 24 Aug 2012 at 6:32

Attachments:

GoogleCodeExporter commented 9 years ago
I didn't test your patch, but I looked at it. The switch should trigger Windows 
8 not by default, rather by his real number: 2. (NT 6.2)
Why did you change the other code?
I think this patch is much better and includes more parts of this table (for 
example Professional Editon): 
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724358%28v=vs.85%29.as
px

By the way this fixes also the Problem with Win7&8 32/64 bit version of Windows 
and Win7 Edition. I think yours would done this too, but not fully.

Original comment by hosteddinner on 24 Aug 2012 at 9:30

Attachments:

GoogleCodeExporter commented 9 years ago
1) Yes, Win8 should be the real number 2, agreed.
2) What other code did I change that shouldn't be changed? My Version detects 
32-bit and 64-bit by the if-clause below.
3) "Professional Edition" and "Professional with Media Center" can be added of 
course.

Original comment by wishmaster51 on 25 Aug 2012 at 9:38

GoogleCodeExporter commented 9 years ago
Why have you made this one?

-   if( !(bOsVersionInfoEx = GetVersionEx ((OSVERSIONINFO *) &osvi)) )
-       return FALSE;
+   BOOL bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO *) &osvi);
+   if ( !bOsVersionInfoEx )
+   {
+       osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+       if (!GetVersionEx((OSVERSIONINFO*)&osvi)) 
+           return FALSE;
+   }

and this one makes only the code longer, or do i miss something here?
-   pGNSI = (PGNSI) GetProcAddress(
-       GetModuleHandle(TEXT("kernel32.dll")), 
-       "GetNativeSystemInfo");
+   HMODULE hKernel = GetModuleHandle(TEXT("kernel32.dll"));
+   pGNSI = (PGNSI) GetProcAddress(hKernel,"GetNativeSystemInfo");

Original comment by hosteddinner on 25 Aug 2012 at 10:54

GoogleCodeExporter commented 9 years ago
1) It is just a fallbach if(!bOsVersionInfoEx). I saw that in Crash Dumper Code 
and honestly Im not sure if it is actually needed but it cannot hurt either as 
I see it.

2) The variable hKernel is used in 2 places :) Its for code readability and a 
matter of personal coding style preferences, can be changed :)

Original comment by wishmaster51 on 25 Aug 2012 at 12:03

GoogleCodeExporter commented 9 years ago
Please apply one of the patches before 26th, because it should be applied 
before a lot of people note this...
Both patches do report Win8, but my does it correct (for example for Win8 Pro, 
wishmasters patch report Win8 Buisness, because its not catched correctly)

Original comment by hosteddinner on 20 Oct 2012 at 10:39

GoogleCodeExporter commented 9 years ago

Original comment by rainwater on 25 Oct 2012 at 1:23