Updated with upstream update
This commit is contained in:
@ -110,7 +110,7 @@ static void pika_display_progress_set_value (PikaProgress *progre
|
||||
gdouble percentage);
|
||||
static gdouble pika_display_progress_get_value (PikaProgress *progress);
|
||||
static void pika_display_progress_pulse (PikaProgress *progress);
|
||||
static guint32 pika_display_progress_get_window_id (PikaProgress *progress);
|
||||
static GBytes * pika_display_progress_get_window_id (PikaProgress *progress);
|
||||
static gboolean pika_display_progress_message (PikaProgress *progress,
|
||||
Pika *pika,
|
||||
PikaMessageSeverity severity,
|
||||
@ -323,7 +323,7 @@ pika_display_progress_pulse (PikaProgress *progress)
|
||||
pika_progress_pulse (PIKA_PROGRESS (display->priv->shell));
|
||||
}
|
||||
|
||||
static guint32
|
||||
static GBytes *
|
||||
pika_display_progress_get_window_id (PikaProgress *progress)
|
||||
{
|
||||
PikaDisplayImpl *display = PIKA_DISPLAY_IMPL (progress);
|
||||
@ -331,7 +331,7 @@ pika_display_progress_get_window_id (PikaProgress *progress)
|
||||
if (display->priv->shell)
|
||||
return pika_progress_get_window_id (PIKA_PROGRESS (display->priv->shell));
|
||||
|
||||
return 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -103,15 +103,16 @@ pika_display_shell_progress_pulse (PikaProgress *progress)
|
||||
pika_progress_pulse (PIKA_PROGRESS (statusbar));
|
||||
}
|
||||
|
||||
static guint32
|
||||
static GBytes *
|
||||
pika_display_shell_progress_get_window_id (PikaProgress *progress)
|
||||
{
|
||||
GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (progress));
|
||||
PikaDisplayShell *shell = PIKA_DISPLAY_SHELL (progress);
|
||||
GBytes *handle = NULL;
|
||||
|
||||
if (GTK_IS_WINDOW (toplevel))
|
||||
return pika_window_get_native_id (GTK_WINDOW (toplevel));
|
||||
if (shell->window_handle)
|
||||
handle = g_bytes_ref (shell->window_handle);
|
||||
|
||||
return 0;
|
||||
return handle;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -27,6 +27,10 @@
|
||||
#include <gegl.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#ifdef GDK_WINDOWING_WAYLAND
|
||||
#include <gdk/gdkwayland.h>
|
||||
#endif
|
||||
|
||||
#include "libpikabase/pikabase.h"
|
||||
#include "libpikamath/pikamath.h"
|
||||
#include "libpikacolor/pikacolor.h"
|
||||
@ -587,6 +591,8 @@ pika_display_shell_constructed (GObject *object)
|
||||
G_CALLBACK (pika_display_shell_canvas_grab_notify),
|
||||
shell);
|
||||
|
||||
pika_widget_set_native_handle (GTK_WIDGET (shell), &shell->window_handle);
|
||||
|
||||
g_signal_connect (shell->canvas, "realize",
|
||||
G_CALLBACK (pika_display_shell_canvas_realize),
|
||||
shell);
|
||||
@ -851,6 +857,17 @@ pika_display_shell_dispose (GObject *object)
|
||||
|
||||
shell->display = NULL;
|
||||
|
||||
if (shell->window_handle != NULL)
|
||||
{
|
||||
#ifdef GDK_WINDOWING_WAYLAND
|
||||
if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()) &&
|
||||
/* The GdkWindow is likely already destroyed. */
|
||||
gtk_widget_get_window (GTK_WIDGET (shell)) != NULL)
|
||||
gdk_wayland_window_unexport_handle (gtk_widget_get_window (GTK_WIDGET (shell)));
|
||||
#endif
|
||||
g_clear_pointer (&shell->window_handle, g_bytes_unref);
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
|
@ -55,6 +55,8 @@ struct _PikaDisplayShell
|
||||
|
||||
PikaDisplay *display;
|
||||
|
||||
GBytes *window_handle;
|
||||
|
||||
PikaUIManager *popup_manager;
|
||||
GdkMonitor *initial_monitor;
|
||||
|
||||
|
@ -1174,9 +1174,6 @@ pika_image_window_set_aux_info (PikaSessionManaged *session_managed,
|
||||
else if (StartupInfo.wShowWindow == SW_SHOWMINIMIZED ||
|
||||
StartupInfo.wShowWindow == SW_SHOWMINNOACTIVE ||
|
||||
StartupInfo.wShowWindow == SW_MINIMIZE)
|
||||
/* XXX Iconification does not seem to work. I see the
|
||||
* window being iconified and immediately re-raised.
|
||||
* I leave this piece of code for later improvement. */
|
||||
gtk_window_iconify (GTK_WINDOW (session_managed));
|
||||
else
|
||||
/* Another show property not relevant to min/max.
|
||||
|
@ -2026,8 +2026,10 @@ static void
|
||||
pika_tool_rectangle_update_options (PikaToolRectangle *rectangle)
|
||||
{
|
||||
PikaToolRectanglePrivate *private = rectangle->private;
|
||||
gdouble x1, y1;
|
||||
gdouble x2, y2;
|
||||
gdouble x1 = 0;
|
||||
gdouble y1 = 0;
|
||||
gdouble x2 = 0;
|
||||
gdouble y2 = 0;
|
||||
|
||||
pika_tool_rectangle_get_public_rect (rectangle, &x1, &y1, &x2, &y2);
|
||||
|
||||
@ -2162,7 +2164,10 @@ static void
|
||||
pika_tool_rectangle_update_status (PikaToolRectangle *rectangle)
|
||||
{
|
||||
PikaToolRectanglePrivate *private = rectangle->private;
|
||||
gdouble x1, y1, x2, y2;
|
||||
gdouble x1 = 0;
|
||||
gdouble y1 = 0;
|
||||
gdouble x2 = 0;
|
||||
gdouble y2 = 0;
|
||||
|
||||
pika_tool_rectangle_get_public_rect (rectangle, &x1, &y1, &x2, &y2);
|
||||
|
||||
@ -2436,7 +2441,10 @@ pika_tool_rectangle_coord_on_handle (PikaToolRectangle *rectangle,
|
||||
{
|
||||
PikaToolRectanglePrivate *private = rectangle->private;
|
||||
PikaDisplayShell *shell;
|
||||
gdouble x1, y1, x2, y2;
|
||||
gdouble x1 = 0;
|
||||
gdouble y1 = 0;
|
||||
gdouble x2 = 0;
|
||||
gdouble y2 = 0;
|
||||
gdouble rect_w, rect_h;
|
||||
gdouble handle_x = 0;
|
||||
gdouble handle_y = 0;
|
||||
@ -2838,7 +2846,10 @@ pika_tool_rectangle_setup_snap_offsets (PikaToolRectangle *rectangle,
|
||||
{
|
||||
PikaToolWidget *widget = PIKA_TOOL_WIDGET (rectangle);
|
||||
PikaToolRectanglePrivate *private = rectangle->private;
|
||||
gdouble x1, y1, x2, y2;
|
||||
gdouble x1 = 0;
|
||||
gdouble y1 = 0;
|
||||
gdouble x2 = 0;
|
||||
gdouble y2 = 0;
|
||||
gdouble coord_x, coord_y;
|
||||
|
||||
pika_tool_rectangle_get_public_rect (rectangle, &x1, &y1, &x2, &y2);
|
||||
@ -4185,7 +4196,10 @@ pika_tool_rectangle_point_in_rectangle (PikaToolRectangle *rectangle,
|
||||
gdouble x,
|
||||
gdouble y)
|
||||
{
|
||||
gdouble x1, y1, x2, y2;
|
||||
gdouble x1 = 0;
|
||||
gdouble y1 = 0;
|
||||
gdouble x2 = 0;
|
||||
gdouble y2 = 0;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_TOOL_RECTANGLE (rectangle), FALSE);
|
||||
|
||||
|
Reference in New Issue
Block a user