Strange ... can not build wine because of this ..

Questions about Wine on Linux
Post Reply
User avatar
rawfox
Level 2
Level 2
Posts: 49
Joined: Tue Oct 05, 2010 10:59 am

Strange ... can not build wine because of this ..

Post by rawfox » Wed Feb 13, 2019 4:42 am

This is strange, i can not built the current dev branch because of missing ';' semicolon, syntax errors in dlls/uxtheme/gtk.c

There is a lot lines at the bottom of the file, containing a return statement like this

Code: Select all

HRESULT uxtheme_gtk_CloseThemeData(HTHEME theme) { return 0 };
I had to edit the lines to something like this, to make it built

Code: Select all

HRESULT uxtheme_gtk_CloseThemeData(HTHEME theme) { return 0; };
The strange part is, nobody is complaining about it, so why can all people build it obviously ok, but here it wont built at all ?!

Any idea how to engange this ?

User avatar
rawfox
Level 2
Level 2
Posts: 49
Joined: Tue Oct 05, 2010 10:59 am

Re: Strange ... can not build wine because of this ..

Post by rawfox » Wed Feb 13, 2019 6:10 am

.. is the trailing semicolon even required at all ?!

btw, its on wine-4.1-169-g9781b5433c (Staging)

User avatar
rawfox
Level 2
Level 2
Posts: 49
Joined: Tue Oct 05, 2010 10:59 am

Re: Strange ... can not build wine because of this ..

Post by rawfox » Wed Feb 13, 2019 6:43 am

Oh sorry, never mind, forget this please.
The checksums have been different btw. wine and the wine-staging patch set.
So, solved, sorry for confiziness ^^

User avatar
rawfox
Level 2
Level 2
Posts: 49
Joined: Tue Oct 05, 2010 10:59 am

Re: Strange ... can not build wine because of this ..

Post by rawfox » Wed Feb 13, 2019 9:11 am

aww well, even with the same checksums its not going thru, the error by the compiler is this and many more for each uxtheme function:

Code: Select all

../../../../workdir/dlls/uxtheme/gtk.c: In Funktion »uxtheme_gtk_IsThemePartDefined«:
../../../../workdir/dlls/uxtheme/gtk.c:1012:89: Fehler: expected »;« before »}« token
 BOOL uxtheme_gtk_IsThemePartDefined(HTHEME htheme, int part_id, int state_id) { return 0 };
                                                                                         ^~
                                                                                         ;
make[1]: *** [Makefile:428: gtk.o] Fehler 1
make: *** [Makefile:8517: dlls/uxtheme] Fehler 2
make: *** Es wird auf noch nicht beendete Prozesse gewartet....

The related block from dlls/uxtheme/gtk.c is this, as said, an error for each uxtheme function:

Code: Select all

HRESULT uxtheme_gtk_CloseThemeData(HTHEME theme) { return 0 };
HRESULT uxtheme_gtk_EnableThemeDialogTexture(HWND hwnd, DWORD flags) { return 0 };
HRESULT uxtheme_gtk_EnableTheming(BOOL enable) { return 0 };
HRESULT uxtheme_gtk_GetCurrentThemeName(LPWSTR filename, int filename_maxlen,
                                        LPWSTR color, int color_maxlen,
                                        LPWSTR size, int size_maxlen) { return 0 };
DWORD uxtheme_gtk_GetThemeAppProperties(void) { return 0 };
BOOL uxtheme_gtk_IsThemeDialogTextureEnabled(HWND hwnd) { return 0 };
HTHEME uxtheme_gtk_OpenThemeDataEx(HWND hwnd, LPCWSTR classlist, DWORD flags) { return 0 };
void uxtheme_gtk_SetThemeAppProperties(DWORD flags) { };
HRESULT uxtheme_gtk_SetWindowTheme(HWND hwnd, LPCWSTR sub_app_name, LPCWSTR sub_id_list) { return 0 };
HRESULT uxtheme_gtk_GetThemeBool(HTHEME htheme, int part_id, int state_id,
                                 int prop_id, BOOL *value) { return 0 };
HRESULT uxtheme_gtk_GetThemeColor(HTHEME htheme, int part_id, int state_id,
                                  int prop_id, COLORREF *color) { return 0 };
HRESULT uxtheme_gtk_GetThemeEnumValue(HTHEME htheme, int part_id, int state_id,
                                      int prop_id, int *value) { return 0 };
HRESULT uxtheme_gtk_GetThemeFilename(HTHEME htheme, int part_id, int state_id,
                                     int prop_id, LPWSTR filename, int maxlen) { return 0 };
HRESULT uxtheme_gtk_GetThemeFont(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                 int prop_id, LOGFONTW *font) { return 0 };
HRESULT uxtheme_gtk_GetThemeInt(HTHEME htheme, int part_id, int state_id,
                                int prop_id, int *value) { return 0 };
HRESULT uxtheme_gtk_GetThemeIntList(HTHEME htheme, int part_id, int state_id,
                                    int prop_id, INTLIST *intlist) { return 0 };
HRESULT uxtheme_gtk_GetThemeMargins(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                    int prop_id, LPRECT rect, MARGINS *margins) { return 0 };
HRESULT uxtheme_gtk_GetThemeMetric(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                   int prop_id, int *value) { return 0 };
HRESULT uxtheme_gtk_GetThemePosition(HTHEME htheme, int part_id, int state_id,
                                     int prop_id, POINT *point) { return 0 };
HRESULT uxtheme_gtk_GetThemePropertyOrigin(HTHEME htheme, int part_id, int state_id,
                                           int prop_id, PROPERTYORIGIN *origin) { return 0 };
HRESULT uxtheme_gtk_GetThemeRect(HTHEME htheme, int part_id, int state_id,
                                 int prop_id, RECT *rect) { return 0 };
HRESULT uxtheme_gtk_GetThemeString(HTHEME htheme, int part_id, int state_id,
                                   int prop_id, LPWSTR buffer, int maxlen) { return 0 };
HRESULT uxtheme_gtk_GetThemeTransitionDuration(HTHEME htheme, int part_id, int state_id_from,
                                               int state_id_to, int prop_id, DWORD *duration) { return 0 };
BOOL uxtheme_gtk_GetThemeSysBool(HTHEME htheme, int bool_id) { return 0 };
COLORREF uxtheme_gtk_GetThemeSysColor(HTHEME htheme, int color_id) { return 0 };
HRESULT uxtheme_gtk_GetThemeSysFont(HTHEME htheme, int font_id, LOGFONTW *font) { return 0 };
HRESULT uxtheme_gtk_GetThemeSysInt(HTHEME htheme, int int_id, int *value) { return 0 };
int uxtheme_gtk_GetThemeSysSize(HTHEME htheme, int size_id) { return 0 };
HRESULT uxtheme_gtk_GetThemeSysString(HTHEME htheme, int string_id, LPWSTR buffer, int maxlen) { return 0 };
HRESULT uxtheme_gtk_DrawThemeBackgroundEx(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                          LPCRECT rect, const DTBGOPTS *options) { return 0 };
HRESULT uxtheme_gtk_DrawThemeTextEx(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                    LPCWSTR text, int length, DWORD flags, RECT *rect,
                                    const DTTOPTS *options) { return 0 };
HRESULT uxtheme_gtk_GetThemeBackgroundRegion(HTHEME htheme, HDC hdc, int part_id,
                                             int state_id, LPCRECT rect, HRGN *region) { return 0 };
HRESULT uxtheme_gtk_GetThemePartSize(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                     RECT *rect, THEMESIZE type, SIZE *size) { return 0 };
HRESULT uxtheme_gtk_GetThemeTextExtent(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                       LPCWSTR text, int length, DWORD flags,
                                       LPCRECT bounding_rect, LPRECT extent_rect) { return 0 };
HRESULT uxtheme_gtk_GetThemeTextMetrics(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                        TEXTMETRICW *metric) { return 0 };
BOOL uxtheme_gtk_IsThemeBackgroundPartiallyTransparent(HTHEME htheme, int part_id, int state_id) { return 0 };
BOOL uxtheme_gtk_IsThemePartDefined(HTHEME htheme, int part_id, int state_id) { return 0 };
So ive added the missing semicolon and removed the tailing one to make it look like this:

Code: Select all


HRESULT uxtheme_gtk_CloseThemeData(HTHEME theme) { return 0; }
HRESULT uxtheme_gtk_EnableThemeDialogTexture(HWND hwnd, DWORD flags) { return 0; }
HRESULT uxtheme_gtk_EnableTheming(BOOL enable) { return 0; }
HRESULT uxtheme_gtk_GetCurrentThemeName(LPWSTR filename, int filename_maxlen,
                                        LPWSTR color, int color_maxlen,
                                        LPWSTR size, int size_maxlen) { return 0; }
DWORD uxtheme_gtk_GetThemeAppProperties(void) { return 0; }
BOOL uxtheme_gtk_IsThemeDialogTextureEnabled(HWND hwnd) { return 0; }
HTHEME uxtheme_gtk_OpenThemeDataEx(HWND hwnd, LPCWSTR classlist, DWORD flags) { return 0; }
void uxtheme_gtk_SetThemeAppProperties(DWORD flags) { };
HRESULT uxtheme_gtk_SetWindowTheme(HWND hwnd, LPCWSTR sub_app_name, LPCWSTR sub_id_list) { return 0; }
HRESULT uxtheme_gtk_GetThemeBool(HTHEME htheme, int part_id, int state_id,
                                 int prop_id, BOOL *value) { return 0; }
HRESULT uxtheme_gtk_GetThemeColor(HTHEME htheme, int part_id, int state_id,
                                  int prop_id, COLORREF *color) { return 0; }
HRESULT uxtheme_gtk_GetThemeEnumValue(HTHEME htheme, int part_id, int state_id,
                                      int prop_id, int *value) { return 0; }
HRESULT uxtheme_gtk_GetThemeFilename(HTHEME htheme, int part_id, int state_id,
                                     int prop_id, LPWSTR filename, int maxlen) { return 0; }
HRESULT uxtheme_gtk_GetThemeFont(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                 int prop_id, LOGFONTW *font) { return 0; }
HRESULT uxtheme_gtk_GetThemeInt(HTHEME htheme, int part_id, int state_id,
                                int prop_id, int *value) { return 0; }
HRESULT uxtheme_gtk_GetThemeIntList(HTHEME htheme, int part_id, int state_id,
                                    int prop_id, INTLIST *intlist) { return 0; }
HRESULT uxtheme_gtk_GetThemeMargins(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                    int prop_id, LPRECT rect, MARGINS *margins) { return 0; }
HRESULT uxtheme_gtk_GetThemeMetric(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                   int prop_id, int *value) { return 0; }
HRESULT uxtheme_gtk_GetThemePosition(HTHEME htheme, int part_id, int state_id,
                                     int prop_id, POINT *point) { return 0; }
HRESULT uxtheme_gtk_GetThemePropertyOrigin(HTHEME htheme, int part_id, int state_id,
                                           int prop_id, PROPERTYORIGIN *origin) { return 0; }
HRESULT uxtheme_gtk_GetThemeRect(HTHEME htheme, int part_id, int state_id,
                                 int prop_id, RECT *rect) { return 0; }
HRESULT uxtheme_gtk_GetThemeString(HTHEME htheme, int part_id, int state_id,
                                   int prop_id, LPWSTR buffer, int maxlen) { return 0; }
HRESULT uxtheme_gtk_GetThemeTransitionDuration(HTHEME htheme, int part_id, int state_id_from,
                                               int state_id_to, int prop_id, DWORD *duration) { return 0; }
BOOL uxtheme_gtk_GetThemeSysBool(HTHEME htheme, int bool_id) { return 0; }
COLORREF uxtheme_gtk_GetThemeSysColor(HTHEME htheme, int color_id) { return 0; }
HRESULT uxtheme_gtk_GetThemeSysFont(HTHEME htheme, int font_id, LOGFONTW *font) { return 0; }
HRESULT uxtheme_gtk_GetThemeSysInt(HTHEME htheme, int int_id, int *value) { return 0; }
int uxtheme_gtk_GetThemeSysSize(HTHEME htheme, int size_id) { return 0; }
HRESULT uxtheme_gtk_GetThemeSysString(HTHEME htheme, int string_id, LPWSTR buffer, int maxlen) { return 0; }
HRESULT uxtheme_gtk_DrawThemeBackgroundEx(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                          LPCRECT rect, const DTBGOPTS *options) { return 0; }
HRESULT uxtheme_gtk_DrawThemeTextEx(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                    LPCWSTR text, int length, DWORD flags, RECT *rect,
                                    const DTTOPTS *options) { return 0; }
HRESULT uxtheme_gtk_GetThemeBackgroundRegion(HTHEME htheme, HDC hdc, int part_id,
                                             int state_id, LPCRECT rect, HRGN *region) { return 0; }
HRESULT uxtheme_gtk_GetThemePartSize(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                     RECT *rect, THEMESIZE type, SIZE *size) { return 0; }
HRESULT uxtheme_gtk_GetThemeTextExtent(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                       LPCWSTR text, int length, DWORD flags,
                                       LPCRECT bounding_rect, LPRECT extent_rect) { return 0; }
HRESULT uxtheme_gtk_GetThemeTextMetrics(HTHEME htheme, HDC hdc, int part_id, int state_id,
                                        TEXTMETRICW *metric) { return 0; }
BOOL uxtheme_gtk_IsThemeBackgroundPartiallyTransparent(HTHEME htheme, int part_id, int state_id) { return 0; }
BOOL uxtheme_gtk_IsThemePartDefined(HTHEME htheme, int part_id, int state_id) { return 0; }
This is working correct !

As this is from wine-staging patches, i assume the semicolon got swapped to the wrong place anyhow, is that possible ?!

So forget to forget please :lol:

Post Reply