From 028aaf2bf51d1ce3caf884d48a09d13f23bc2a43 Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Sat, 31 Oct 2026 01:30:41 +0200
Subject: [PATCH 79/79] gtk4(x): Fix tech tree scrolling

Patch by Andrew McGuinness

See RM #2430

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
---
 client/gui-gtk-4.0/repodlgs.c | 14 --------------
 client/gui-gtk-5.0/repodlgs.c | 14 --------------
 2 files changed, 28 deletions(-)

diff --git a/client/gui-gtk-4.0/repodlgs.c b/client/gui-gtk-4.0/repodlgs.c
index 3832af2498..8f0c783b5a 100644
--- a/client/gui-gtk-4.0/repodlgs.c
+++ b/client/gui-gtk-4.0/repodlgs.c
@@ -271,11 +271,6 @@ static void science_diagram_update(GtkDrawingArea *widget, cairo_t *cr,
   struct canvas canvas = FC_STATIC_CANVAS_INIT;
   struct reqtree *reqtree = g_object_get_data(G_OBJECT(widget), "reqtree");
   int rtwidth, rtheight;
-  GtkAdjustment *hadjustment;
-  GtkAdjustment *vadjustment;
-  gint hadjustment_value;
-  gint vadjustment_value;
-  GtkViewport *vp;
 
   if (!tileset_is_fully_loaded()) {
     return;
@@ -284,15 +279,6 @@ static void science_diagram_update(GtkDrawingArea *widget, cairo_t *cr,
   get_reqtree_dimensions(reqtree, &rtwidth, &rtheight);
   gtk_widget_set_size_request(GTK_WIDGET(widget), rtwidth, rtheight);
 
-  vp = GTK_VIEWPORT(gtk_widget_get_parent(GTK_WIDGET(widget)));
-  hadjustment = gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(vp));
-  vadjustment = gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(vp));
-
-  hadjustment_value = (gint)gtk_adjustment_get_value(hadjustment);
-  vadjustment_value = (gint)gtk_adjustment_get_value(vadjustment);
-
-  cairo_translate(cr, -hadjustment_value, -vadjustment_value);
-
   canvas.drawable = cr;
 
   draw_reqtree(reqtree, &canvas, 0, 0, 0, 0, rtwidth, rtheight);
diff --git a/client/gui-gtk-5.0/repodlgs.c b/client/gui-gtk-5.0/repodlgs.c
index f8671cafae..da0dbe6784 100644
--- a/client/gui-gtk-5.0/repodlgs.c
+++ b/client/gui-gtk-5.0/repodlgs.c
@@ -271,11 +271,6 @@ static void science_diagram_update(GtkDrawingArea *widget, cairo_t *cr,
   struct canvas canvas = FC_STATIC_CANVAS_INIT;
   struct reqtree *reqtree = g_object_get_data(G_OBJECT(widget), "reqtree");
   int rtwidth, rtheight;
-  GtkAdjustment *hadjustment;
-  GtkAdjustment *vadjustment;
-  gint hadjustment_value;
-  gint vadjustment_value;
-  GtkViewport *vp;
 
   if (!tileset_is_fully_loaded()) {
     return;
@@ -284,15 +279,6 @@ static void science_diagram_update(GtkDrawingArea *widget, cairo_t *cr,
   get_reqtree_dimensions(reqtree, &rtwidth, &rtheight);
   gtk_widget_set_size_request(GTK_WIDGET(widget), rtwidth, rtheight);
 
-  vp = GTK_VIEWPORT(gtk_widget_get_parent(GTK_WIDGET(widget)));
-  hadjustment = gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(vp));
-  vadjustment = gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(vp));
-
-  hadjustment_value = (gint)gtk_adjustment_get_value(hadjustment);
-  vadjustment_value = (gint)gtk_adjustment_get_value(vadjustment);
-
-  cairo_translate(cr, -hadjustment_value, -vadjustment_value);
-
   canvas.drawable = cr;
 
   draw_reqtree(reqtree, &canvas, 0, 0, 0, 0, rtwidth, rtheight);
-- 
2.53.0

