[gnome-control-center/wip/carlosg/calibrator-fixes: 5/12] Revert "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: 5/12] Revert "wacom: Pass GdkMonitor directly to calibrator object"
- Date: Sat, 12 Feb 2022 14:34:24 +0000 (UTC)
commit 534be989bd4df052738ead0b6d6aa31709cb553d
Author: Carlos Garnacho <carlosg gnome org>
Date: Sat Feb 12 11:43:46 2022 +0100
Revert "wacom: Pass GdkMonitor directly to calibrator object"
This reverts commit 3894bc075a52dd16f6dbcbf2dd3e089acb83fe3a.
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, 22 insertions(+), 10 deletions(-)
---
diff --git a/panels/wacom/calibrator/calibrator-gui.c b/panels/wacom/calibrator/calibrator-gui.c
index 216ad3a51..dfa262774 100644
--- a/panels/wacom/calibrator/calibrator-gui.c
+++ b/panels/wacom/calibrator/calibrator-gui.c
@@ -236,13 +236,14 @@ on_fullscreen (GtkWindow *window,
*/
CalibArea *
calib_area_new (GdkDisplay *display,
- GdkMonitor *monitor,
+ int n_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;
@@ -282,6 +283,9 @@ 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 f8e38effd..400aa101a 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,
- GdkMonitor *monitor,
+CalibArea * calib_area_new (GdkDisplay *display,
+ int monitor,
GdkDevice *device,
FinishCallback callback,
gpointer user_data,
diff --git a/panels/wacom/calibrator/main.c b/panels/wacom/calibrator/main.c
index e68575e8f..e35d48e49 100644
--- a/panels/wacom/calibrator/main.c
+++ b/panels/wacom/calibrator/main.c
@@ -393,8 +393,6 @@ 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");
@@ -404,11 +402,8 @@ 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,
- monitor, /* monitor */
+ 0, /* 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 74846fe8e..c90873696 100644
--- a/panels/wacom/cc-wacom-page.c
+++ b/panels/wacom/cc-wacom-page.c
@@ -217,10 +217,23 @@ 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,
- monitor,
+ n_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]