Compare commits
10 Commits
4.11.2
...
wip/otte/w
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2714329207 | ||
|
|
c8933b97fb | ||
|
|
605019af29 | ||
|
|
05fb1e6d9b | ||
|
|
e564b6b7c5 | ||
|
|
22fde632f1 | ||
|
|
e584df0840 | ||
|
|
579ea799e9 | ||
|
|
41f5678c2a | ||
|
|
d6a4c65bfa |
@@ -140,14 +140,14 @@ fedora-mingw64:
|
||||
mingw64-glib2
|
||||
mingw64-libepoxy
|
||||
mingw64-pango
|
||||
# mingw64-graphene (rawhide)
|
||||
mingw64-graphene
|
||||
script:
|
||||
- .gitlab-ci/show-info-linux.sh
|
||||
- export PATH="$HOME/.local/bin:$PATH"
|
||||
- pip3 install --user meson~=1.0
|
||||
- meson subprojects download
|
||||
- meson subprojects update --reset
|
||||
- meson -Dintrospection=disabled -Dgraphene:introspection=disabled _build
|
||||
- meson -Dintrospection=disabled ${COMMON_MESON_FLAGS} _build
|
||||
- meson compile -C _build
|
||||
|
||||
.mingw-defaults:
|
||||
|
||||
3
NEWS
3
NEWS
@@ -1,3 +1,6 @@
|
||||
Overview of Changes in 4.11.3, xx-xx-xxxx
|
||||
=========================================
|
||||
|
||||
Overview of Changes in 4.11.2, 09-05-2023
|
||||
=========================================
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ get_win32_all_locales_scripts (LPWSTR locale_w, DWORD flags, LPARAM param)
|
||||
{
|
||||
wchar_t *langname_w = NULL;
|
||||
wchar_t locale_abbrev_w[9];
|
||||
gchar *langname, *locale_abbrev, *locale, *p;
|
||||
gchar *langname, *locale_abbrev, *locale;
|
||||
gint i;
|
||||
const LCTYPE iso639_lctypes[] = { LOCALE_SISO639LANGNAME, LOCALE_SISO639LANGNAME2 };
|
||||
GHashTable *ht_scripts_langs = (GHashTable *) param;
|
||||
@@ -59,7 +59,6 @@ get_win32_all_locales_scripts (LPWSTR locale_w, DWORD flags, LPARAM param)
|
||||
GetLocaleInfoEx (locale_w, LOCALE_SLOCALIZEDDISPLAYNAME, langname_w, langname_size);
|
||||
langname = g_utf16_to_utf8 (langname_w, -1, NULL, NULL, NULL);
|
||||
locale = g_utf16_to_utf8 (locale_w, -1, NULL, NULL, NULL);
|
||||
p = strchr (locale, '-');
|
||||
lang = pango_language_from_string (locale);
|
||||
if (g_hash_table_lookup (ht_scripts_langs, lang) == NULL)
|
||||
g_hash_table_insert (ht_scripts_langs, lang, langname);
|
||||
|
||||
@@ -3190,7 +3190,7 @@ gdk_event_translate (MSG *msg,
|
||||
|
||||
case WM_DWMCOMPOSITIONCHANGED:
|
||||
gdk_win32_display_check_composited (GDK_WIN32_DISPLAY (display));
|
||||
_gdk_win32_surface_enable_transparency (window);
|
||||
gdk_win32_surface_enable_transparency (window);
|
||||
break;
|
||||
|
||||
case WM_ACTIVATE:
|
||||
|
||||
@@ -478,7 +478,7 @@ void gdk_dmanipulation_initialize (void)
|
||||
if (hr == REGDB_E_CLASSNOTREG || hr == E_NOINTERFACE);
|
||||
/* Not an error,
|
||||
* DirectManipulation is not available */
|
||||
else HR_LOG (hr);
|
||||
else HR_CHECK (hr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ gdk_win32_ensure_com (void)
|
||||
"thread with an incompatible apartment model");
|
||||
break;
|
||||
default:
|
||||
HR_LOG (hr);
|
||||
HR_CHECK (hr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -124,7 +124,7 @@ gdk_win32_ensure_ole (void)
|
||||
"the thread has an incompatible apartment model");
|
||||
break;
|
||||
default:
|
||||
HR_LOG (hr);
|
||||
HR_CHECK (hr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,33 +163,12 @@ typedef enum
|
||||
GDK_DRAG_PROTO_OLE2,
|
||||
} GdkDragProtocol;
|
||||
|
||||
GType _gdk_gc_win32_get_type (void);
|
||||
|
||||
gulong _gdk_win32_get_next_tick (gulong suggested_tick);
|
||||
|
||||
BOOL _gdk_win32_get_cursor_pos (LPPOINT lpPoint);
|
||||
|
||||
void _gdk_surface_init_position (GdkSurface *window);
|
||||
void _gdk_surface_move_resize_child (GdkSurface *window,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height);
|
||||
void gdk_win32_surface_enable_transparency (GdkSurface *self);
|
||||
|
||||
gboolean _gdk_win32_surface_enable_transparency (GdkSurface *window);
|
||||
|
||||
|
||||
/* GdkSurfaceImpl methods */
|
||||
void _gdk_win32_surface_scroll (GdkSurface *window,
|
||||
int dx,
|
||||
int dy);
|
||||
void _gdk_win32_surface_move_region (GdkSurface *window,
|
||||
const cairo_region_t *region,
|
||||
int dx,
|
||||
int dy);
|
||||
|
||||
|
||||
void _gdk_win32_selection_init (void);
|
||||
void _gdk_win32_dnd_exit (void);
|
||||
|
||||
void gdk_win32_handle_table_insert (HANDLE *handle,
|
||||
@@ -206,8 +185,6 @@ cairo_region_t *_gdk_win32_hrgn_to_region (HRGN hrgn,
|
||||
void _gdk_win32_adjust_client_rect (GdkSurface *window,
|
||||
RECT *RECT);
|
||||
|
||||
void _gdk_selection_property_delete (GdkSurface *);
|
||||
|
||||
void _gdk_push_modal_window (GdkSurface *window);
|
||||
void _gdk_remove_modal_window (GdkSurface *window);
|
||||
GdkSurface *_gdk_modal_current (void);
|
||||
@@ -251,12 +228,39 @@ void _gdk_win32_print_event (GdkEvent *event);
|
||||
|
||||
#endif
|
||||
|
||||
char *_gdk_win32_last_error_string (void);
|
||||
void _gdk_win32_api_failed (const char *where,
|
||||
const char *api);
|
||||
void _gdk_other_api_failed (const char *where,
|
||||
const char *api);
|
||||
|
||||
static inline HRESULT
|
||||
hr_check (HRESULT hr,
|
||||
const char *domain,
|
||||
const char *file,
|
||||
const char *line,
|
||||
const char *func,
|
||||
const char *expr)
|
||||
{
|
||||
char *error_string;
|
||||
|
||||
if (G_LIKELY (SUCCEEDED (hr)))
|
||||
return hr;
|
||||
|
||||
error_string = g_win32_error_message (hr);
|
||||
|
||||
g_log_structured_standard (domain,
|
||||
G_LOG_LEVEL_WARNING,
|
||||
file,
|
||||
line,
|
||||
func,
|
||||
"%s = 0x%lx: %s", expr, hr, error_string);
|
||||
g_free (error_string);
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
#define HR_CHECK(expr) hr_check (expr, G_LOG_DOMAIN, __FILE__, G_STRINGIFY (__LINE__), G_STRFUNC, #expr);
|
||||
|
||||
#define WIN32_API_FAILED(api) _gdk_win32_api_failed (G_STRLOC , api)
|
||||
#define WIN32_GDI_FAILED(api) WIN32_API_FAILED (api)
|
||||
#define OTHER_API_FAILED(api) _gdk_other_api_failed (G_STRLOC, api)
|
||||
@@ -272,8 +276,6 @@ void _gdk_other_api_failed (const char *where,
|
||||
#define GDI_CALL(api, arglist) (api arglist ? 1 : (WIN32_GDI_FAILED (#api), 0))
|
||||
#define API_CALL(api, arglist) (api arglist ? 1 : (WIN32_API_FAILED (#api), 0))
|
||||
|
||||
#define HR_LOG(hr)
|
||||
|
||||
#define HR_CHECK_RETURN(hr) { if G_UNLIKELY (FAILED (hr)) return; }
|
||||
#define HR_CHECK_RETURN_VAL(hr, val) { if G_UNLIKELY (FAILED (hr)) return val; }
|
||||
#define HR_CHECK_GOTO(hr, label) { if G_UNLIKELY (FAILED (hr)) goto label; }
|
||||
|
||||
@@ -267,40 +267,26 @@ _gdk_win32_adjust_client_rect (GdkSurface *window,
|
||||
API_CALL (AdjustWindowRectEx, (rect, style, FALSE, exstyle));
|
||||
}
|
||||
|
||||
gboolean
|
||||
_gdk_win32_surface_enable_transparency (GdkSurface *window)
|
||||
void
|
||||
gdk_win32_surface_enable_transparency (GdkSurface *surface)
|
||||
{
|
||||
DWM_BLURBEHIND blur_behind;
|
||||
HRGN empty_region;
|
||||
HRESULT call_result;
|
||||
HWND thiswindow;
|
||||
HWND hwnd;
|
||||
|
||||
if (window == NULL || GDK_SURFACE_HWND (window) == NULL)
|
||||
return FALSE;
|
||||
if (surface == NULL || GDK_SURFACE_HWND (surface) == NULL)
|
||||
return;
|
||||
|
||||
if (!gdk_display_is_composited (gdk_surface_get_display (window)))
|
||||
return FALSE;
|
||||
if (!gdk_display_is_composited (gdk_surface_get_display (surface)))
|
||||
return;
|
||||
|
||||
thiswindow = GDK_SURFACE_HWND (window);
|
||||
|
||||
empty_region = CreateRectRgn (0, 0, -1, -1);
|
||||
|
||||
if (empty_region == NULL)
|
||||
return FALSE;
|
||||
hwnd = GDK_SURFACE_HWND (surface);
|
||||
|
||||
memset (&blur_behind, 0, sizeof (blur_behind));
|
||||
blur_behind.dwFlags = DWM_BB_ENABLE | DWM_BB_BLURREGION;
|
||||
blur_behind.hRgnBlur = empty_region;
|
||||
blur_behind.dwFlags = DWM_BB_ENABLE;
|
||||
blur_behind.fEnable = TRUE;
|
||||
call_result = DwmEnableBlurBehindWindow (thiswindow, &blur_behind);
|
||||
HR_CHECK (DwmEnableBlurBehindWindow (hwnd, &blur_behind));
|
||||
|
||||
if (!SUCCEEDED (call_result))
|
||||
g_warning ("%s: %s (%p) failed: %" G_GINT32_MODIFIER "x",
|
||||
G_STRLOC, "DwmEnableBlurBehindWindow", thiswindow, (guint32) call_result);
|
||||
|
||||
DeleteObject (empty_region);
|
||||
|
||||
return SUCCEEDED (call_result);
|
||||
HR_CHECK (DwmExtendFrameIntoClientArea (hwnd, &(MARGINS) { -1 }));
|
||||
}
|
||||
|
||||
static const char *
|
||||
@@ -527,7 +513,7 @@ gdk_win32_surface_constructed (GObject *object)
|
||||
gdk_dmanipulation_initialize_surface (surface);
|
||||
}
|
||||
|
||||
_gdk_win32_surface_enable_transparency (surface);
|
||||
gdk_win32_surface_enable_transparency (surface);
|
||||
_gdk_win32_surface_register_dnd (surface);
|
||||
_gdk_win32_surface_update_style_bits (surface);
|
||||
|
||||
|
||||
@@ -150,7 +150,6 @@ struct _GdkX11Display
|
||||
guint has_glx_video_sync : 1;
|
||||
guint has_glx_buffer_age : 1;
|
||||
guint has_glx_sync_control : 1;
|
||||
guint has_glx_multisample : 1;
|
||||
guint has_glx_visual_rating : 1;
|
||||
guint has_glx_create_es2_context : 1;
|
||||
guint has_async_glx_swap_buffers : 1;
|
||||
|
||||
@@ -955,8 +955,6 @@ gdk_x11_display_init_glx (GdkX11Display *display_x11,
|
||||
epoxy_has_glx_extension (dpy, screen_num, "GLX_EXT_buffer_age");
|
||||
display_x11->has_glx_sync_control =
|
||||
epoxy_has_glx_extension (dpy, screen_num, "GLX_OML_sync_control");
|
||||
display_x11->has_glx_multisample =
|
||||
epoxy_has_glx_extension (dpy, screen_num, "GLX_ARB_multisample");
|
||||
display_x11->has_glx_visual_rating =
|
||||
epoxy_has_glx_extension (dpy, screen_num, "GLX_EXT_visual_rating");
|
||||
|
||||
@@ -1011,7 +1009,6 @@ gdk_x11_display_init_glx (GdkX11Display *display_x11,
|
||||
"\t* GLX_SGI_video_sync: %s\n"
|
||||
"\t* GLX_EXT_buffer_age: %s\n"
|
||||
"\t* GLX_OML_sync_control: %s\n"
|
||||
"\t* GLX_ARB_multisample: %s\n"
|
||||
"\t* GLX_EXT_visual_rating: %s",
|
||||
display_x11->glx_version / 10,
|
||||
display_x11->glx_version % 10,
|
||||
@@ -1023,7 +1020,6 @@ gdk_x11_display_init_glx (GdkX11Display *display_x11,
|
||||
display_x11->has_glx_video_sync ? "yes" : "no",
|
||||
display_x11->has_glx_buffer_age ? "yes" : "no",
|
||||
display_x11->has_glx_sync_control ? "yes" : "no",
|
||||
display_x11->has_glx_multisample ? "yes" : "no",
|
||||
display_x11->has_glx_visual_rating ? "yes" : "no");
|
||||
|
||||
return TRUE;
|
||||
|
||||
@@ -40,7 +40,7 @@ get_win32_all_locales_scripts (LPWSTR locale_w, DWORD flags, LPARAM param)
|
||||
{
|
||||
wchar_t *langname_w = NULL;
|
||||
wchar_t locale_abbrev_w[9];
|
||||
gchar *langname, *locale_abbrev, *locale, *p;
|
||||
gchar *langname, *locale_abbrev, *locale;
|
||||
gint i;
|
||||
const LCTYPE iso639_lctypes[] = { LOCALE_SISO639LANGNAME, LOCALE_SISO639LANGNAME2 };
|
||||
GHashTable *ht_scripts_langs = (GHashTable *) param;
|
||||
@@ -59,7 +59,6 @@ get_win32_all_locales_scripts (LPWSTR locale_w, DWORD flags, LPARAM param)
|
||||
GetLocaleInfoEx (locale_w, LOCALE_SLOCALIZEDDISPLAYNAME, langname_w, langname_size);
|
||||
langname = g_utf16_to_utf8 (langname_w, -1, NULL, NULL, NULL);
|
||||
locale = g_utf16_to_utf8 (locale_w, -1, NULL, NULL, NULL);
|
||||
p = strchr (locale, '-');
|
||||
lang = pango_language_from_string (locale);
|
||||
if (g_hash_table_lookup (ht_scripts_langs, lang) == NULL)
|
||||
g_hash_table_insert (ht_scripts_langs, lang, langname);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('gtk', 'c',
|
||||
version: '4.11.2',
|
||||
version: '4.11.3',
|
||||
default_options: [
|
||||
'buildtype=debugoptimized',
|
||||
'warning_level=1',
|
||||
|
||||
Reference in New Issue
Block a user