[gnome-control-center/wip/carlosg/calibrator-fixes: 4/12] wacom: Pass GdkMonitor directly to calibrator object
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/carlosg/calibrator-fixes: 4/12] wacom: Pass GdkMonitor directly to calibrator object
- Date: Sat, 12 Feb 2022 14:34:24 +0000 (UTC)
commit 3894bc075a52dd16f6dbcbf2dd3e089acb83fe3a
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Feb 10 00:08:12 2022 +0100
wacom: Pass GdkMonitor directly to calibrator object
Instead of figuring out a monitor number from a GdkMonitor, and
look the GdkMonitor back up, pass the GdkMonitor directly.
panels/wacom/calibrator/calibrator-gui.c | 6 +-----
panels/wacom/calibrator/calibrator-gui.h | 4 ++--
panels/wacom/calibrator/main.c | 7 ++++++-
panels/wacom/cc-wacom-page.c | 15 +--------------
4 files changed, 10 insertions(+), 22 deletions(-)
---
diff --git a/panels/wacom/calibrator/calibrator-gui.c b/panels/wacom/calibrator/calibrator-gui.c
index dfa262774..216ad3a51 100644
--- a/panels/wacom/calibrator/calibrator-gui.c
+++ b/panels/wacom/calibrator/calibrator-gui.c
@@ -236,14 +236,13 @@ on_fullscreen (GtkWindow *window,
*/
CalibArea *
calib_area_new (GdkDisplay *display,
- int n_monitor,
+ GdkMonitor *monitor,
GdkDevice *device,
FinishCallback callback,
gpointer user_data,
int threshold_doubleclick,
int threshold_misclick)
{
- g_autoptr(GdkMonitor) monitor = NULL;
CalibArea *calib_area;
GdkRectangle rect;
GtkGesture *click;
@@ -283,9 +282,6 @@ calib_area_new (GdkDisplay *display,
#endif /* FAKE_AREA */
/* Move to correct screen */
- if (display == NULL)
- display = gdk_display_get_default ();
- monitor = g_list_model_get_item (gdk_display_get_monitors (display), n_monitor);
gdk_monitor_get_geometry (monitor, &rect);
calib_area->calibrator.geometry = rect;
diff --git a/panels/wacom/calibrator/calibrator-gui.h b/panels/wacom/calibrator/calibrator-gui.h
index 400aa101a..f8e38effd 100644
--- a/panels/wacom/calibrator/calibrator-gui.h
+++ b/panels/wacom/calibrator/calibrator-gui.h
@@ -39,8 +39,8 @@ typedef struct
typedef struct CalibArea CalibArea;
typedef void (*FinishCallback) (CalibArea *area, gpointer user_data);
-CalibArea * calib_area_new (GdkDisplay *display,
- int monitor,
+CalibArea * calib_area_new (GdkDisplay *display,
+ GdkMonitor *monitor,
GdkDevice *device,
FinishCallback callback,
gpointer user_data,
diff --git a/panels/wacom/calibrator/main.c b/panels/wacom/calibrator/main.c
index e35d48e49..e68575e8f 100644
--- a/panels/wacom/calibrator/main.c
+++ b/panels/wacom/calibrator/main.c
@@ -393,6 +393,8 @@ int main(int argc, char** argv)
struct Calib* calibrator = main_common(argc, argv);
CalibArea *calib_area;
+ GdkDisplay *display;
+ g_autoptr (GdkMonitor) monitor = NULL;
bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
@@ -402,8 +404,11 @@ int main(int argc, char** argv)
g_setenv ("G_MESSAGES_DEBUG", "all", TRUE);
+ display = gdk_display_get_default ();
+ monitor = g_list_model_get_item (gdk_display_get_monitors (display), 0);
+
calib_area = calib_area_new (NULL,
- 0, /* monitor */
+ monitor, /* monitor */
NULL, /* NULL to accept input from any device */
calibration_finished_cb,
NULL,
diff --git a/panels/wacom/cc-wacom-page.c b/panels/wacom/cc-wacom-page.c
index c90873696..74846fe8e 100644
--- a/panels/wacom/cc-wacom-page.c
+++ b/panels/wacom/cc-wacom-page.c
@@ -217,23 +217,10 @@ run_calibration (CcWacomPage *page,
gdouble *cal,
GdkMonitor *monitor)
{
- GdkDisplay *display = gdk_monitor_get_display (monitor);
- GListModel *monitors;
- guint i, n_monitor = 0;
-
g_assert (page->area == NULL);
- monitors = gdk_display_get_monitors (display);
- for (i = 0; i < g_list_model_get_n_items (monitors); i++) {
- g_autoptr(GdkMonitor) m = g_list_model_get_item (monitors, i);
- if (monitor == m) {
- n_monitor = i;
- break;
- }
- }
-
page->area = calib_area_new (NULL,
- n_monitor,
+ monitor,
cc_wacom_page_get_gdk_device (page),
finish_calibration,
page,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]