mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
remove fireball hack in changedisplay, do not hard code the display number,
with this patch we are now extract the display number from the desktop and use it patch was wroten by me and janderwald. I was to lazy finish it so janderwald did finish it thanks janderwald. svn path=/trunk/; revision=25131
This commit is contained in:
@@ -2925,9 +2925,30 @@ IntChangeDisplaySettings(
|
||||
|
||||
/* Check if pDeviceName is NULL, we need to retrieve it */
|
||||
if (pDeviceName == NULL)
|
||||
{
|
||||
/* FIXME: It is a hack, but there is no proper way right now */
|
||||
RtlInitUnicodeString(&InDeviceName, L"\\\\.\\DISPLAY1");
|
||||
{
|
||||
WCHAR szBuffer[MAX_DRIVER_NAME];
|
||||
PDC DC;
|
||||
PWINDOW_OBJECT Wnd=NULL;
|
||||
HWND hWnd;
|
||||
HDC hDC;
|
||||
|
||||
hWnd = IntGetDesktopWindow();
|
||||
if (hWnd && !(Wnd = UserGetWindowObject(hWnd)))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
hDC = (HDC)UserGetWindowDC(Wnd);
|
||||
|
||||
DC = DC_LockDc(hDC);
|
||||
if (NULL == DC)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
swprintf (szBuffer, L"\\\\.\\DISPLAY%lu", ((GDIDEVICE *)DC->GDIDevice)->DisplayNumber);
|
||||
DC_UnlockDc(DC);
|
||||
|
||||
RtlInitUnicodeString(&InDeviceName, szBuffer);
|
||||
pDeviceName = &InDeviceName;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user