http://bugs.winehq.org/show_bug.cgi?id=7414
------- Additional Comments From focht(a)gmx.net 2007-14-02 02:33 -------
Hello,
well i followed control flow of some apis and saw places in kernel32 exports
that access this area like this:
--- snip pseudocode ---
==== kernel32 usermode api
some_info_accessor()
{
// short circuit like a cache
if( getSharedUserData()->MemberValid)
{
return getSharedUserData()->MemberData;
}
// "cache miss" -> make call to native api to fetch info
var ret_data;
SetLastError( NtStatusToDosError( NtQuerySystemInformation( info_class,
&ret_data, sizeof(ret_data), 0)));
return ret_data;
}
}
===== native api:
NtQuerySystemInformation():
case some_info_class:
// first time init ?
if( !getSharedUserData()->MemberValid)
{
// collect info .. read from file, registry, make calls to other native api
do_some_lengthy_stuff()
// set member data = valid
getSharedUserData()->MemberData = data_from_lengthy_op()
...
lasterror()
}
*ret_val = getSharedUserData()->MemberData;
...
---
So i wanted to mimic that behavior.
But you got a point. It might not be a good idea at all...
To quote from MSDN:
--- quote ---
The NtQuerySystemInformation function and the structures that it returns are
internal to the operating system and subject to change from one release of
Windows to another.
--- quote ---
So i have some options left.
First option is to completely handle the stuff in "high level" kernel32 exports,
implementing local cached data "one time init" and skipping the
NtQuerySystemInformation stuff (the stuff from NtQuerySystemInformation() case
goes to kernel32 exports).
This might lead to code duplication if same mechanism is used twice somewhere in
other modules than kernel32 (one has yet to see).
Another option: use local cached data "one time init", if cache miss call
NtQuerySystemInformation() right away.
NtQuery .. implements the stuff like shown in pseudo code except no shared data
struct used.
The returned data from call is directly used to update the local cached data in
kernel32.
I think option 1 is way to go (i guess implementing undocumented system info
classes is not your preferred choice).
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7379
------- Additional Comments From dmitry(a)codeweavers.com 2007-13-02 21:36 -------
Which characters don't display correctly? All the special characters I picked
from the log are rendered in the same way in both logs. Can you point out to
a character that is being rendered incorrectly? UploadGlyph draws characters,
so just find a line in the log that contains 'trace:xrender:UploadGlyph' and
tell us its number.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7379
dmitry(a)codeweavers.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #4917|gzipped log of |gzipped log of
description|LANG=ru_RU.UTF-8 |LANG=ru_RU.UTF-8
|WINEDEBUG=+font,+xrender |WINEDEBUG=+font,+xrender
|wine |wine
|/var/wine/drives/c/Program\ |/var/wine/drives/c/Program\
|Files/Finale\ |Files/Finale\
|2007/FINALE.EXE |2007/FINALE.EXE
|&>/tmp/wine_en_us.UTF-8.log |&>/tmp/wine_ru_ru.UTF-8.log
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=4747
vitaliy(a)kievinfo.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Additional Comments From vitaliy(a)kievinfo.com 2007-13-02 21:08 -------
Fixed in current GIT.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7364
dmitry(a)codeweavers.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From dmitry(a)codeweavers.com 2007-13-02 21:05 -------
The patch has been committed.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7421
------- Additional Comments From ninevoltz(a)metalink.net 2007-13-02 21:04 -------
Use decimal values on eSweepAngle and then change around the X or Y value, you
will see the end point change to different locations. I don't know if it's just
bad math or an incorrect cast. This bug manifests in the drawing of pie charts
and in Altium Designer CAD software when drawing arcs on PCBs, so I'd consider
it kind of important to fix.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7421
Summary: GDI32 painting.c, AngleArc function renders improperly
Product: Wine
Version: 0.9.30.
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-misc
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: ninevoltz(a)metalink.net
The AngleArc function of GDI32 does not render arcs properly. I'm guessing that
this is possibly because M_PI is a defined as a double and the parameters to the
routine are floats. See my attached program, angle.exe. You can prove the bug
with it. Set Wine to Windows 2000/XP before running it.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.winehq.org/show_bug.cgi?id=7420
vitaliy(a)kievinfo.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
------- Additional Comments From vitaliy(a)kievinfo.com 2007-13-02 19:37 -------
Closing dup
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.