[PATCH v3 2/4] winex11.drv: Use nameless structs and unions in settings.c.
Rémi Bernon
wine at gitlab.winehq.org
Thu Jun 30 03:16:43 CDT 2022
From: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/winex11.drv/settings.c | 69 ++++++++++++++++++-------------------
1 file changed, 33 insertions(+), 36 deletions(-)
diff --git a/dlls/winex11.drv/settings.c b/dlls/winex11.drv/settings.c
index 0f9c4c876de..06cf0df4482 100644
--- a/dlls/winex11.drv/settings.c
+++ b/dlls/winex11.drv/settings.c
@@ -26,9 +26,6 @@
#include "config.h"
#include <stdlib.h>
-#define NONAMELESSUNION
-#define NONAMELESSSTRUCT
-
#include "x11drv.h"
#include "windef.h"
@@ -114,11 +111,11 @@ static BOOL nores_get_modes(ULONG_PTR id, DWORD flags, DEVMODEW **new_modes, UIN
modes[0].dmDriverExtra = 0;
modes[0].dmFields = DM_DISPLAYORIENTATION | DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT |
DM_DISPLAYFLAGS | DM_DISPLAYFREQUENCY;
- modes[0].u1.s2.dmDisplayOrientation = DMDO_DEFAULT;
+ modes[0].dmDisplayOrientation = DMDO_DEFAULT;
modes[0].dmBitsPerPel = screen_bpp;
modes[0].dmPelsWidth = primary.right;
modes[0].dmPelsHeight = primary.bottom;
- modes[0].u2.dmDisplayFlags = 0;
+ modes[0].dmDisplayFlags = 0;
modes[0].dmDisplayFrequency = 60;
*new_modes = modes;
@@ -137,10 +134,10 @@ static BOOL nores_get_current_mode(ULONG_PTR id, DEVMODEW *mode)
mode->dmFields = DM_DISPLAYORIENTATION | DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT |
DM_DISPLAYFLAGS | DM_DISPLAYFREQUENCY | DM_POSITION;
- mode->u1.s2.dmDisplayOrientation = DMDO_DEFAULT;
- mode->u2.dmDisplayFlags = 0;
- mode->u1.s2.dmPosition.x = 0;
- mode->u1.s2.dmPosition.y = 0;
+ mode->dmDisplayOrientation = DMDO_DEFAULT;
+ mode->dmDisplayFlags = 0;
+ mode->dmPosition.x = 0;
+ mode->dmPosition.y = 0;
if (id != 1)
{
@@ -207,7 +204,7 @@ void init_registry_display_settings(void)
TRACE("Device %s current display mode %ux%u %ubits %uHz at %d,%d.\n",
wine_dbgstr_w(dd.DeviceName), dm.dmPelsWidth, dm.dmPelsHeight, dm.dmBitsPerPel,
- dm.dmDisplayFrequency, dm.u1.s2.dmPosition.x, dm.u1.s2.dmPosition.y);
+ dm.dmDisplayFrequency, dm.dmPosition.x, dm.dmPosition.y);
ret = NtUserChangeDisplaySettings( &device_name, &dm, NULL,
CDS_GLOBAL | CDS_NORESET | CDS_UPDATEREGISTRY, NULL );
@@ -303,14 +300,14 @@ static BOOL read_registry_settings(const WCHAR *device_name, DEVMODEW *dm)
dm->dmFields |= DM_PELSHEIGHT;
ret &= query_display_setting( hkey, "DefaultSettings.VRefresh", &dm->dmDisplayFrequency );
dm->dmFields |= DM_DISPLAYFREQUENCY;
- ret &= query_display_setting( hkey, "DefaultSettings.Flags", &dm->u2.dmDisplayFlags );
+ ret &= query_display_setting( hkey, "DefaultSettings.Flags", &dm->dmDisplayFlags );
dm->dmFields |= DM_DISPLAYFLAGS;
- ret &= query_display_setting( hkey, "DefaultSettings.XPanning", (DWORD *)&dm->u1.s2.dmPosition.x );
- ret &= query_display_setting( hkey, "DefaultSettings.YPanning", (DWORD *)&dm->u1.s2.dmPosition.y );
+ ret &= query_display_setting( hkey, "DefaultSettings.XPanning", (DWORD *)&dm->dmPosition.x );
+ ret &= query_display_setting( hkey, "DefaultSettings.YPanning", (DWORD *)&dm->dmPosition.y );
dm->dmFields |= DM_POSITION;
- ret &= query_display_setting( hkey, "DefaultSettings.Orientation", &dm->u1.s2.dmDisplayOrientation );
+ ret &= query_display_setting( hkey, "DefaultSettings.Orientation", &dm->dmDisplayOrientation );
dm->dmFields |= DM_DISPLAYORIENTATION;
- ret &= query_display_setting( hkey, "DefaultSettings.FixedOutput", &dm->u1.s2.dmDisplayFixedOutput );
+ ret &= query_display_setting( hkey, "DefaultSettings.FixedOutput", &dm->dmDisplayFixedOutput );
NtClose( hkey );
release_display_device_init_mutex(mutex);
@@ -341,11 +338,11 @@ static BOOL write_registry_settings(const WCHAR *device_name, const DEVMODEW *dm
ret &= set_setting_value( hkey, "DefaultSettings.XResolution", dm->dmPelsWidth );
ret &= set_setting_value( hkey, "DefaultSettings.YResolution", dm->dmPelsHeight );
ret &= set_setting_value( hkey, "DefaultSettings.VRefresh", dm->dmDisplayFrequency );
- ret &= set_setting_value( hkey, "DefaultSettings.Flags", dm->u2.dmDisplayFlags );
- ret &= set_setting_value( hkey, "DefaultSettings.XPanning", dm->u1.s2.dmPosition.x );
- ret &= set_setting_value( hkey, "DefaultSettings.YPanning", dm->u1.s2.dmPosition.y );
- ret &= set_setting_value( hkey, "DefaultSettings.Orientation", dm->u1.s2.dmDisplayOrientation );
- ret &= set_setting_value( hkey, "DefaultSettings.FixedOutput", dm->u1.s2.dmDisplayFixedOutput );
+ ret &= set_setting_value( hkey, "DefaultSettings.Flags", dm->dmDisplayFlags );
+ ret &= set_setting_value( hkey, "DefaultSettings.XPanning", dm->dmPosition.x );
+ ret &= set_setting_value( hkey, "DefaultSettings.YPanning", dm->dmPosition.y );
+ ret &= set_setting_value( hkey, "DefaultSettings.Orientation", dm->dmDisplayOrientation );
+ ret &= set_setting_value( hkey, "DefaultSettings.FixedOutput", dm->dmDisplayFixedOutput );
NtClose( hkey );
release_display_device_init_mutex(mutex);
@@ -376,7 +373,7 @@ static int mode_compare(const void *p1, const void *p2)
const DEVMODEW *a = p1, *b = p2;
/* Use the width and height in landscape mode for comparison */
- if (a->u1.s2.dmDisplayOrientation == DMDO_DEFAULT || a->u1.s2.dmDisplayOrientation == DMDO_180)
+ if (a->dmDisplayOrientation == DMDO_DEFAULT || a->dmDisplayOrientation == DMDO_180)
{
a_width = a->dmPelsWidth;
a_height = a->dmPelsHeight;
@@ -387,7 +384,7 @@ static int mode_compare(const void *p1, const void *p2)
a_height = a->dmPelsWidth;
}
- if (b->u1.s2.dmDisplayOrientation == DMDO_DEFAULT || b->u1.s2.dmDisplayOrientation == DMDO_180)
+ if (b->dmDisplayOrientation == DMDO_DEFAULT || b->dmDisplayOrientation == DMDO_180)
{
b_width = b->dmPelsWidth;
b_height = b->dmPelsHeight;
@@ -415,7 +412,7 @@ static int mode_compare(const void *p1, const void *p2)
return b->dmDisplayFrequency - a->dmDisplayFrequency;
/* Orientation in ascending order */
- return a->u1.s2.dmDisplayOrientation - b->u1.s2.dmDisplayOrientation;
+ return a->dmDisplayOrientation - b->dmDisplayOrientation;
}
static void set_display_depth(ULONG_PTR display_id, DWORD depth)
@@ -585,7 +582,7 @@ static DEVMODEW *get_full_mode(ULONG_PTR id, DEVMODEW *dev_mode)
dev_mode->dmDisplayFrequency != found_mode->dmDisplayFrequency)
continue;
if (dev_mode->dmFields & DM_DISPLAYORIENTATION &&
- found_mode->u1.s2.dmDisplayOrientation != dev_mode->u1.s2.dmDisplayOrientation)
+ found_mode->dmDisplayOrientation != dev_mode->dmDisplayOrientation)
continue;
break;
@@ -607,7 +604,7 @@ static DEVMODEW *get_full_mode(ULONG_PTR id, DEVMODEW *dev_mode)
settings_handler.free_modes(modes);
full_mode->dmFields |= DM_POSITION;
- full_mode->u1.s2.dmPosition = dev_mode->u1.s2.dmPosition;
+ full_mode->dmPosition = dev_mode->dmPosition;
return full_mode;
}
@@ -668,7 +665,7 @@ static LONG get_display_settings(struct x11drv_display_setting **new_displays,
goto done;
displays[display_idx].desired_mode.dmFields |= DM_POSITION;
- displays[display_idx].desired_mode.u1.s2.dmPosition = current_mode.u1.s2.dmPosition;
+ displays[display_idx].desired_mode.dmPosition = current_mode.dmPosition;
}
}
else
@@ -682,10 +679,10 @@ static LONG get_display_settings(struct x11drv_display_setting **new_displays,
}
SetRect(&displays[display_idx].desired_rect,
- displays[display_idx].desired_mode.u1.s2.dmPosition.x,
- displays[display_idx].desired_mode.u1.s2.dmPosition.y,
- displays[display_idx].desired_mode.u1.s2.dmPosition.x + displays[display_idx].desired_mode.dmPelsWidth,
- displays[display_idx].desired_mode.u1.s2.dmPosition.y + displays[display_idx].desired_mode.dmPelsHeight);
+ displays[display_idx].desired_mode.dmPosition.x,
+ displays[display_idx].desired_mode.dmPosition.y,
+ displays[display_idx].desired_mode.dmPosition.x + displays[display_idx].desired_mode.dmPelsWidth,
+ displays[display_idx].desired_mode.dmPosition.y + displays[display_idx].desired_mode.dmPelsHeight);
lstrcpyW(displays[display_idx].desired_mode.dmDeviceName, display_device.DeviceName);
}
@@ -871,8 +868,8 @@ static void place_all_displays(struct x11drv_display_setting *displays, INT disp
for (display_idx = 0; display_idx < display_count; ++display_idx)
{
- displays[display_idx].desired_mode.u1.s2.dmPosition.x = displays[display_idx].new_rect.left;
- displays[display_idx].desired_mode.u1.s2.dmPosition.y = displays[display_idx].new_rect.top;
+ displays[display_idx].desired_mode.dmPosition.x = displays[display_idx].new_rect.left;
+ displays[display_idx].desired_mode.dmPosition.y = displays[display_idx].new_rect.top;
left_most = min(left_most, displays[display_idx].new_rect.left);
top_most = min(top_most, displays[display_idx].new_rect.top);
}
@@ -880,8 +877,8 @@ static void place_all_displays(struct x11drv_display_setting *displays, INT disp
/* Convert virtual screen coordinates to root coordinates */
for (display_idx = 0; display_idx < display_count; ++display_idx)
{
- displays[display_idx].desired_mode.u1.s2.dmPosition.x -= left_most;
- displays[display_idx].desired_mode.u1.s2.dmPosition.y -= top_most;
+ displays[display_idx].desired_mode.dmPosition.x -= left_most;
+ displays[display_idx].desired_mode.dmPosition.y -= top_most;
}
}
@@ -905,9 +902,9 @@ static LONG apply_display_settings(struct x11drv_display_setting *displays, INT
TRACE("handler:%s changing %s to position:(%d,%d) resolution:%ux%u frequency:%uHz "
"depth:%ubits orientation:%#x.\n", settings_handler.name,
wine_dbgstr_w(displays[display_idx].desired_mode.dmDeviceName),
- full_mode->u1.s2.dmPosition.x, full_mode->u1.s2.dmPosition.y, full_mode->dmPelsWidth,
+ full_mode->dmPosition.x, full_mode->dmPosition.y, full_mode->dmPelsWidth,
full_mode->dmPelsHeight, full_mode->dmDisplayFrequency, full_mode->dmBitsPerPel,
- full_mode->u1.s2.dmDisplayOrientation);
+ full_mode->dmDisplayOrientation);
ret = settings_handler.set_current_mode(displays[display_idx].id, full_mode);
if (attached_mode && ret == DISP_CHANGE_SUCCESSFUL)
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/322
More information about the wine-devel
mailing list