Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package orca for openSUSE:Factory checked in 
at 2025-07-20 15:28:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/orca (Old)
 and      /work/SRC/openSUSE:Factory/.orca.new.8875 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "orca"

Sun Jul 20 15:28:39 2025 rev:187 rq:1294068 version:48.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/orca/orca.changes        2025-07-03 
12:10:55.074841200 +0200
+++ /work/SRC/openSUSE:Factory/.orca.new.8875/orca.changes      2025-07-20 
15:29:21.224768914 +0200
@@ -1,0 +2,6 @@
+Wed Jul 16 18:37:13 UTC 2025 - Michael Gorse <mgo...@suse.com>
+
+- Add orca-large-set-oom.patch: fix possible out-of-memory when
+  presenting gtk 4 list items (glgo#GNOME/orca#560).
+
+-------------------------------------------------------------------
@@ -5728 +5734 @@
-Mon Mar 12 09:11:03 CST 2007 - m...@suse.de
+Mon Mar 12 10:11:03 CDT 2007 - m...@suse.de

New:
----
  orca-large-set-oom.patch

----------(New B)----------
  New:
- Add orca-large-set-oom.patch: fix possible out-of-memory when
  presenting gtk 4 list items (glgo#GNOME/orca#560).
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ orca.spec ++++++
--- /var/tmp/diff_new_pack.WfBzmi/_old  2025-07-20 15:29:21.916797551 +0200
+++ /var/tmp/diff_new_pack.WfBzmi/_new  2025-07-20 15:29:21.920797716 +0200
@@ -26,6 +26,8 @@
 Group:          System/GUI/GNOME
 URL:            https://wiki.gnome.org/Projects/Orca
 Source0:        %{name}-%{version}.tar.zst
+# PATCH-FIX-UPSTREAM orca-large-set-oom.patch mgo...@suse.com -- fix possible 
out-of-memory when presenting gtk 4 list items.
+Patch0:         orca-large-set-oom.patch
 
 BuildRequires:  fdupes
 BuildRequires:  gobject-introspection

++++++ orca-large-set-oom.patch ++++++
>From f9784efaea501de126044f32f69331c4f7d8ebca Mon Sep 17 00:00:00 2001
From: Mike Gorse <mgo...@suse.com>
Date: Mon, 14 Jul 2025 09:27:24 -0500
Subject: [PATCH] AXComponent: Rewrite get_rect_intersection

This is likely more performant and avoids creating large sets that exhaust
the system's memory if we are passed a bad value.

Closes #560
---
 src/orca/ax_component.py | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/orca/ax_component.py b/src/orca/ax_component.py
index e26135ca8..e632f9bef 100644
--- a/src/orca/ax_component.py
+++ b/src/orca/ax_component.py
@@ -92,19 +92,16 @@ class AXComponent:
 
         result = Atspi.Rect()
 
-        x_points1 = range(rect1.x, rect1.x + rect1.width + 1)
-        x_points2 = range(rect2.x, rect2.x + rect2.width + 1)
-        x_intersection = sorted(set(x_points1).intersection(set(x_points2)))
-
-        y_points1 = range(rect1.y, rect1.y + rect1.height + 1)
-        y_points2 = range(rect2.y, rect2.y + rect2.height + 1)
-        y_intersection = sorted(set(y_points1).intersection(set(y_points2)))
-
-        if x_intersection and y_intersection:
-            result.x = x_intersection[0]
-            result.y = y_intersection[0]
-            result.width = x_intersection[-1] - result.x
-            result.height = y_intersection[-1] - result.y
+        dest_x = max(rect1.x, rect2.x)
+        dest_y = max(rect1.y, rect2.y)
+        dest_x2 = min(rect1.x + rect1.width, rect2.x + rect2.width)
+        dest_y2 = min(rect1.y + rect1.height, rect2.y + rect2.height)
+
+        if dest_x2 > dest_x and dest_y2 > dest_y:
+            result.x = dest_x
+            result.y = dest_y
+            result.width = dest_x2 - dest_x
+            result.height = dest_y2 - dest_y
 
         tokens = ["AXComponent: The intersection of", rect1, "and", rect2, 
"is:", result]
         debug.print_tokens(debug.LEVEL_INFO, tokens, True)
-- 
2.50.0

Reply via email to