you are right, i'm attaching a new patch.
2013/7/1 Hans Leidekker <h...@codeweavers.com>: > On Mon, 2013-07-01 at 08:56 +0900, Rosen Diankov wrote: > >> diff -ru wine-1.6-rc3-old/dlls/wbemprox/builtin.c >> wine-1.6-rc3/dlls/wbemprox/builtin.c >> --- wine-1.6-rc3-old/dlls/wbemprox/builtin.c 2013-06-22 >> 03:24:01.000000000 +0900 >> +++ wine-1.6-rc3/dlls/wbemprox/builtin.c 2013-06-27 >> 23:04:20.170154454 +0900 > > Please use git to generate patches. > >> @@ -168,6 +168,8 @@ >> {'M','a','n','u','f','a','c','t','u','r','e','r',0}; >> static const WCHAR prop_maxclockspeedW[] = >> {'M','a','x','C','l','o','c','k','S','p','e','e','d',0}; >> +static const WCHAR prop_currentclockspeedW[] = >> + {'C','u','r','r','e','n','t','C','l','o','c','k','S','p','e','e','d',0}; > > Please keep properties sorted here and below. > >> static const WCHAR prop_memberW[] = >> {'M','e','m','b','e','r',0}; >> static const WCHAR prop_methodW[] = >> @@ -381,6 +383,7 @@ >> { prop_familyW, CIM_UINT16, VT_I4 }, >> { prop_manufacturerW, CIM_STRING|COL_FLAG_DYNAMIC }, >> { prop_maxclockspeedW, CIM_UINT32, VT_I4 }, >> + { prop_currentclockspeedW, CIM_UINT32, VT_I4 }, >> { prop_nameW, CIM_STRING|COL_FLAG_DYNAMIC }, >> { prop_numcoresW, CIM_UINT32, VT_I4 }, >> { prop_numlogicalprocessorsW, CIM_UINT32, VT_I4 }, >> @@ -633,6 +636,7 @@ >> UINT16 family; >> const WCHAR *manufacturer; >> UINT32 maxclockspeed; >> + UINT32 currentclockspeed; >> const WCHAR *name; >> UINT32 num_cores; >> UINT32 num_logical_processors; >> @@ -1690,7 +1694,33 @@ >> regs_to_str( regs, 16, name + 32 ); >> } >> } >> -static UINT get_processor_maxclockspeed( void ) >> +static void get_processor_clockspeeds( UINT* maxclockspeed, UINT* >> currentclockspeed ) >> +{ >> + PROCESSOR_POWER_INFORMATION *info; >> + UINT size = get_processor_count() * sizeof(PROCESSOR_POWER_INFORMATION); >> + NTSTATUS status; >> + >> + if ((info = heap_alloc( size ))) >> + { >> + status = NtPowerInformation( ProcessorInformation, NULL, 0, info, >> size ); >> + if (!status) >> + { >> + *maxclockspeed = info[0].MaxMhz; >> + *currentclockspeed = info[0].CurrentMhz; >> + } >> + heap_free( info ); >> + } >> + if( !!maxclockspeed ) >> + { >> + *maxclockspeed = 1000; >> + } >> + if( !!currentclockspeed ) >> + { >> + *currentclockspeed = 1000; >> + } >> +} > > You probably didn't mean to query the clock speeds and then overwrite them > with static values. > NULL checks are not needed in helpers like this. > >> +/*static UINT get_processor_maxclockspeed( void ) >> { >> PROCESSOR_POWER_INFORMATION *info; >> UINT ret = 1000, size = get_processor_count() * >> sizeof(PROCESSOR_POWER_INFORMATION); >> @@ -1703,7 +1733,8 @@ >> heap_free( info ); >> } >> return ret; >> -} >> +}*/ > > Don't comment out code. Remove it. > >> static const WCHAR *get_osarchitecture(void) >> { >> SYSTEM_INFO info; >> @@ -1717,7 +1748,7 @@ >> static const WCHAR fmtW[] = {'C','P','U','%','u',0}; >> WCHAR device_id[14], processor_id[17], manufacturer[13], name[49] = {0}; >> struct record_processor *rec; >> - UINT i, offset = 0, maxclockspeed, num_cores, num_logical_processors, >> count = get_processor_count(); >> + UINT i, offset = 0, maxclockspeed = 0, currentclockspeed = 0, >> num_cores, num_logical_processors, count = get_processor_count(); >> enum fill_status status = FILL_STATUS_UNFILTERED; >> >> if (!resize_table( table, count, sizeof(*rec) )) return >> FILL_STATUS_FAILED; >> @@ -1726,7 +1757,7 @@ >> get_processor_manufacturer( manufacturer ); >> get_processor_name( name ); >> >> - maxclockspeed = get_processor_maxclockspeed(); >> + get_processor_clockspeeds(&maxclockspeed, ¤tclockspeed); >> num_logical_processors = get_logical_processor_count( &num_cores ) / >> count; >> num_cores /= count; > > You're not using currentclockspeed. > >
wbemproxaddition2.wine-1.6-rc4.patch
Description: Binary data