Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gnome-sudoku for openSUSE:Factory 
checked in at 2023-12-02 17:12:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-sudoku (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-sudoku.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-sudoku"

Sat Dec  2 17:12:56 2023 rev:50 rq:1130320 version:45.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-sudoku/gnome-sudoku.changes        
2023-10-23 23:41:16.228194567 +0200
+++ /work/SRC/openSUSE:Factory/.gnome-sudoku.new.25432/gnome-sudoku.changes     
2023-12-02 17:13:09.193304447 +0100
@@ -1,0 +2,10 @@
+Fri Dec  1 15:00:14 UTC 2023 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 45.3:
+  + Adjust red warning color to be brighter, to help colorblind
+    users
+  + Fix earmarks not being checked for warnings
+  + Fix crash when using arrow keys with no cell selected
+  + Fix criticals when adding earmarks introduced in 45.2
+
+-------------------------------------------------------------------

Old:
----
  gnome-sudoku-45.2.tar.xz

New:
----
  gnome-sudoku-45.3.tar.xz

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

Other differences:
------------------
++++++ gnome-sudoku.spec ++++++
--- /var/tmp/diff_new_pack.zCgU7D/_old  2023-12-02 17:13:09.821327462 +0100
+++ /var/tmp/diff_new_pack.zCgU7D/_new  2023-12-02 17:13:09.821327462 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           gnome-sudoku
-Version:        45.2
+Version:        45.3
 Release:        0
 Summary:        Sudoku Game for GNOME
 License:        GPL-3.0-or-later

++++++ gnome-sudoku-45.2.tar.xz -> gnome-sudoku-45.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.2/NEWS new/gnome-sudoku-45.3/NEWS
--- old/gnome-sudoku-45.2/NEWS  2023-10-20 19:43:48.000000000 +0200
+++ new/gnome-sudoku-45.3/NEWS  2023-12-01 15:36:33.000000000 +0100
@@ -1,3 +1,11 @@
+45.3 - December 1, 2023
+=======================
+
+ - Adjust red warning color to be brighter, to help colorblind users (#77)
+ - Fix earmarks not being checked for warnings (#78)
+ - Fix crash when using arrow keys with no cell selected (#80)
+ - Fix criticals when adding earmarks introduced in 45.2
+
 45.2 - October 20, 2023
 =======================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-sudoku-45.2/data/org.gnome.Sudoku.appdata.xml.in 
new/gnome-sudoku-45.3/data/org.gnome.Sudoku.appdata.xml.in
--- old/gnome-sudoku-45.2/data/org.gnome.Sudoku.appdata.xml.in  2023-10-20 
19:43:48.000000000 +0200
+++ new/gnome-sudoku-45.3/data/org.gnome.Sudoku.appdata.xml.in  2023-12-01 
15:36:33.000000000 +0100
@@ -47,6 +47,7 @@
     <kudo>UserDocs</kudo>
   </kudos>
   <releases>
+    <release version="45.3" date="2023-12-01"/>
     <release version="45.2" date="2023-10-20"/>
     <release version="45.1" date="2023-10-14"/>
     <release version="45.0" date="2023-09-15"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.2/data/style.css 
new/gnome-sudoku-45.3/data/style.css
--- old/gnome-sudoku-45.2/data/style.css        2023-10-20 19:43:48.000000000 
+0200
+++ new/gnome-sudoku-45.3/data/style.css        2023-12-01 15:36:33.000000000 
+0100
@@ -40,5 +40,6 @@
 sudokucell.highlight-label > .earmark.error,
 sudokucell.selected > .earmark.error,
 sudokucell.error > label {
-  color: @destructive_color;
+  color: red;
+  font-weight: bold;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.2/meson.build 
new/gnome-sudoku-45.3/meson.build
--- old/gnome-sudoku-45.2/meson.build   2023-10-20 19:43:48.000000000 +0200
+++ new/gnome-sudoku-45.3/meson.build   2023-12-01 15:36:33.000000000 +0100
@@ -4,7 +4,7 @@
   ],
   license: 'GPL3+',
   meson_version: '>= 0.59',
-  version: '45.2'
+  version: '45.3'
 )
 application_id = 'org.gnome.Sudoku'
 add_project_arguments([
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.2/po/ro.po 
new/gnome-sudoku-45.3/po/ro.po
--- old/gnome-sudoku-45.2/po/ro.po      2023-10-20 19:43:48.000000000 +0200
+++ new/gnome-sudoku-45.3/po/ro.po      2023-12-01 15:36:33.000000000 +0100
@@ -11,9 +11,10 @@
 msgstr ""
 "Project-Id-Version: gnome-games.HEAD.ro\n"
 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-sudoku/issues\n";
-"POT-Creation-Date: 2020-12-31 18:10+0000\n"
-"PO-Revision-Date: 2021-01-02 13:21+0200\n"
-"Last-Translator: Florentina Mușat <florentina.musat...@gmail.com>\n"
+"POT-Creation-Date: 2023-06-25 11:56+0000\n"
+"PO-Revision-Date: 2023-10-21 16:52+0300\n"
+"Last-Translator: Florentina Mușat <florentina [dot] musat [dot] 28 [at] "
+"gmail [dot] com>\n"
 "Language-Team: Romanian Gnome Team <gnomero-l...@lists.sourceforge.net>\n"
 "Language: ro\n"
 "MIME-Version: 1.0\n"
@@ -21,7 +22,7 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
 "20)) ? 1 : 2);\n"
-"X-Generator: Poedit 2.4.2\n"
+"X-Generator: Poedit 3.4\n"
 "X-Launchpad-Export-Date: 2009-11-27 09:12+0000\n"
 
 #: data/sudoku-window.ui:7
@@ -29,82 +30,94 @@
 msgstr "Puzzle _nou"
 
 #: data/sudoku-window.ui:11
+msgid "Create Custom Game"
+msgstr "Creează joc personalizat"
+
+#: data/sudoku-window.ui:15
 msgid "_Clear Board"
 msgstr "_Eliberează tabla"
 
-#: data/sudoku-window.ui:17 data/print-dialog.ui:38
+#: data/sudoku-window.ui:21 data/print-dialog.ui:77
 msgid "_Print"
 msgstr "Ti_părește"
 
-#: data/sudoku-window.ui:20
+#: data/sudoku-window.ui:24
 msgid "Print _Current Puzzle…"
 msgstr "Tipărește puzzle-ul _curent…"
 
-#: data/sudoku-window.ui:24
+#: data/sudoku-window.ui:28
 msgid "Print _Multiple Puzzles…"
 msgstr "Tipărește puzzle-uri _multiple…"
 
-#: data/sudoku-window.ui:32
+#: data/sudoku-window.ui:36
 msgid "High_lighter"
 msgstr "_Evidențiere"
 
-#: data/sudoku-window.ui:36
+#: data/sudoku-window.ui:40
 msgid "_Warnings"
 msgstr "_Avertismente"
 
-#: data/sudoku-window.ui:42
+#: data/sudoku-window.ui:46
 msgid "_Help"
 msgstr "_Ajutor"
 
-#: data/sudoku-window.ui:46
+#: data/sudoku-window.ui:50
 msgid "_About Sudoku"
 msgstr "_Despre Sudoku"
 
-#: data/sudoku-window.ui:52 data/sudoku-window.ui:57
-#: data/org.gnome.Sudoku.desktop.in:3 src/gnome-sudoku.vala:488
-#: src/sudoku-window.vala:212
+#: data/sudoku-window.ui:56 data/sudoku-window.ui:64
+#: data/org.gnome.Sudoku.desktop.in:3 src/gnome-sudoku.vala:489
+#: src/sudoku-window.vala:217
 msgid "Sudoku"
 msgstr "Sudoku"
 
-#: data/sudoku-window.ui:73
+#: data/sudoku-window.ui:72
 msgid "Undo your last action"
 msgstr "Anulează ultima acțiune"
 
-#: data/sudoku-window.ui:94
+#: data/sudoku-window.ui:84
 msgid "Redo your last action"
 msgstr "Refă ultima acțiune"
 
-#: data/sudoku-window.ui:126
+#: data/sudoku-window.ui:96
+msgid "Go back to the current game"
+msgstr "Navighează înapoi la jocul curent"
+
+#: data/sudoku-window.ui:107
+msgid "Main Menu"
+msgstr "Meniu principal"
+
+#: data/sudoku-window.ui:115
 msgid "Pause"
 msgstr "Pauză"
 
-#: data/sudoku-window.ui:147
+#: data/sudoku-window.ui:127
 msgid "Start playing the custom puzzle you have created"
 msgstr "Începeți să jucați puzzle-ul personalizat pe care l-ați creat"
 
-#: data/sudoku-window.ui:189
-msgid "Go back to the current game"
-msgstr "Navighează înapoi la jocul curent"
-
-#: data/sudoku-window.ui:233 data/print-dialog.ui:157
-msgid "_Easy"
-msgstr "_Simplu"
-
-#: data/sudoku-window.ui:241 data/print-dialog.ui:172
-msgid "_Medium"
-msgstr "_Mediu"
-
-#: data/sudoku-window.ui:249 data/print-dialog.ui:188
-msgid "_Hard"
-msgstr "_Dificil"
-
-#: data/sudoku-window.ui:257 data/print-dialog.ui:204
-msgid "_Very Hard"
-msgstr "_Foarte dificil"
-
-#: data/sudoku-window.ui:265
-msgid "_Create your own puzzle"
-msgstr "_Creați propriul puzzle"
+#: data/sudoku-window.ui:153
+msgid "Select Game Difficulty"
+msgstr "Selectați dificultatea jocului"
+
+#: data/sudoku-window.ui:169 data/print-dialog.ui:58
+msgid "Easy"
+msgstr "Simplu"
+
+#: data/sudoku-window.ui:180 data/print-dialog.ui:59
+msgid "Medium"
+msgstr "Mediu"
+
+#: data/sudoku-window.ui:191 data/print-dialog.ui:60
+msgid "Hard"
+msgstr "Dificil"
+
+#: data/sudoku-window.ui:202 data/print-dialog.ui:61
+msgid "Very Hard"
+msgstr "Foarte dificil"
+
+#: data/sudoku-window.ui:212
+msgid "Start Game"
+msgstr "Începe jocul"
 
 #: data/org.gnome.Sudoku.appdata.xml.in:7
 msgid "GNOME Sudoku"
@@ -149,7 +162,7 @@
 msgid "A GNOME sudoku game preview"
 msgstr "O previzualizare de joc sudoku GNOME"
 
-#: data/org.gnome.Sudoku.appdata.xml.in:63
+#: data/org.gnome.Sudoku.appdata.xml.in:74
 msgid "The GNOME Project"
 msgstr "Proiectul GNOME"
 
@@ -202,62 +215,76 @@
 "număr și numerele duplicate sunt evidențiate cu roșu"
 
 #: data/org.gnome.Sudoku.gschema.xml:33
+msgid "Additionally warn when correct solution is violated or not earmarked"
+msgstr ""
+"În plus, avertizați când soluția corectă este încălcată sau nu este 
marcată"
+
+#: data/org.gnome.Sudoku.gschema.xml:34
+msgid ""
+"Changes the background color of a square to red if the value does not match "
+"puzzle solution, or if no earmark matches the puzzle solution"
+msgstr ""
+"Modifică culoarea de fundal a unui pătrat în roșu dacă valoarea nu se "
+"potrivește cu soluția puzzle-ului sau dacă niciun marcaj nu se potrivește 
cu "
+"soluția puzzle-ului"
+
+#: data/org.gnome.Sudoku.gschema.xml:38
 msgid "Highlight row, column and square that contain the selected cell"
 msgstr "Evidențiază rândul, coloana și pătratul care conțin celula 
selectată"
 
-#: data/org.gnome.Sudoku.gschema.xml:37
+#: data/org.gnome.Sudoku.gschema.xml:42
 msgid "Width of the window in pixels"
 msgstr "Lățimea ferestrei în pixeli"
 
-#: data/org.gnome.Sudoku.gschema.xml:41
+#: data/org.gnome.Sudoku.gschema.xml:46
 msgid "Height of the window in pixels"
 msgstr "Înălțimea ferestrei în pixeli"
 
-#: data/org.gnome.Sudoku.gschema.xml:45
+#: data/org.gnome.Sudoku.gschema.xml:50
 msgid "true if the window is maximized"
 msgstr "adevărat dacă fereastra este maximizată"
 
-#: data/print-dialog.ui:18
+#: data/org.gnome.Sudoku.gschema.xml:54
+msgid "Initialize the earmarks with the possible values for each cell"
+msgstr "Inițializează marcajele cu valorile posibile pentru fiecare celulă"
+
+#: data/print-dialog.ui:5
 msgid "Print Multiple Puzzles"
 msgstr "Tipărește puzzle-uri multiple"
 
-#: data/print-dialog.ui:27
-msgid "_Cancel"
-msgstr "_Anulează"
-
-#: data/print-dialog.ui:65
-msgid "_Number of puzzles"
-msgstr "_Numărul de puzzle-uri"
-
-#: data/print-dialog.ui:101
-msgid "_Number of puzzles per page"
-msgstr "_Numărul de puzzle-uri per pagină"
+#: data/print-dialog.ui:28
+msgid "Number of Puzzles"
+msgstr "Numărul de puzzle-uri"
+
+#: data/print-dialog.ui:41
+msgid "Number of puzzles per page"
+msgstr "Numărul de puzzle-uri pe pagină"
 
-#: data/print-dialog.ui:138
+#: data/print-dialog.ui:54
 msgid "Difficulty"
 msgstr "Dificultate"
 
-#: lib/sudoku-board.vala:591
+#: lib/sudoku-board.vala:657
 msgid "Unknown Difficulty"
 msgstr "Dificultate necunoscută"
 
-#: lib/sudoku-board.vala:593
+#: lib/sudoku-board.vala:659
 msgid "Easy Difficulty"
 msgstr "Dificultate simplă"
 
-#: lib/sudoku-board.vala:595
+#: lib/sudoku-board.vala:661
 msgid "Medium Difficulty"
 msgstr "Dificultate medie"
 
-#: lib/sudoku-board.vala:597
+#: lib/sudoku-board.vala:663
 msgid "Hard Difficulty"
 msgstr "Dificultate dificilă"
 
-#: lib/sudoku-board.vala:599
+#: lib/sudoku-board.vala:665
 msgid "Very Hard Difficulty"
 msgstr "Dificultate foarte dificilă"
 
-#: lib/sudoku-board.vala:601
+#: lib/sudoku-board.vala:667
 msgid "Custom Puzzle"
 msgstr "Puzzle personalizat"
 
@@ -272,32 +299,36 @@
 msgstr "Arată valorile posibile pentru fiecare celulă"
 
 #. Error dialog shown when starting a custom game that is not valid.
-#: src/gnome-sudoku.vala:224
+#: src/gnome-sudoku.vala:239
 msgid "The puzzle you have entered is not a valid Sudoku."
 msgstr "Puzzle-ul pe care l-ați introdus nu este un Sudoku valid."
 
-#: src/gnome-sudoku.vala:224
+#: src/gnome-sudoku.vala:239
 msgid "Please enter a valid puzzle."
 msgstr "Introduceți un puzzle valid."
 
+#: src/gnome-sudoku.vala:240 src/sudoku-printer.vala:46
+msgid "Close"
+msgstr "Închide"
+
 #. Warning dialog shown when starting a custom game that has multiple 
solutions.
-#: src/gnome-sudoku.vala:233
+#: src/gnome-sudoku.vala:248
 msgid "The puzzle you have entered has multiple solutions."
 msgstr "Puzzle-ul pe care l-ați introdus are soluții multiple."
 
-#: src/gnome-sudoku.vala:233
+#: src/gnome-sudoku.vala:248
 msgid "Valid Sudoku puzzles have exactly one solution."
 msgstr "Puzzle-urile Sudoku valide au exact o soluție."
 
-#: src/gnome-sudoku.vala:235
+#: src/gnome-sudoku.vala:249
 msgid "_Back"
 msgstr "Î_napoi"
 
-#: src/gnome-sudoku.vala:236
+#: src/gnome-sudoku.vala:250
 msgid "Play _Anyway"
 msgstr "Joacă oricum"
 
-#: src/gnome-sudoku.vala:279
+#: src/gnome-sudoku.vala:292
 #, c-format
 msgid "Well done, you completed the puzzle in %d minute!"
 msgid_plural "Well done, you completed the puzzle in %d minutes!"
@@ -305,20 +336,28 @@
 msgstr[1] "Foarte bine, ați completat puzzle-ul în %d minute!"
 msgstr[2] "Foarte bine, ați completat puzzle-ul în %d de minute!"
 
-#: src/gnome-sudoku.vala:283
-msgid "_Quit"
-msgstr "_Ieșire"
+#: src/gnome-sudoku.vala:296
+msgid "Quit"
+msgstr "Ieșire"
 
-#: src/gnome-sudoku.vala:284
+#: src/gnome-sudoku.vala:297
 msgid "Play _Again"
 msgstr "Juc_ați din nou"
 
-#: src/gnome-sudoku.vala:390
+#: src/gnome-sudoku.vala:407
 msgid "Reset the board to its original state?"
 msgstr "Restabiliți tabla la starea ei originală?"
 
+#: src/gnome-sudoku.vala:408
+msgid "No"
+msgstr "Nu"
+
+#: src/gnome-sudoku.vala:409
+msgid "Yes"
+msgstr "Da"
+
 #. Appears on the About dialog. %s is the version of the QQwing puzzle 
generator in use.
-#: src/gnome-sudoku.vala:485
+#: src/gnome-sudoku.vala:486
 #, c-format
 msgid ""
 "The popular Japanese logic puzzle\n"
@@ -335,7 +374,7 @@
 "Mugurel Tudor <mugur...@gnome.ro>\n"
 "Lucian Adrian Grijincu <lucian.griji...@gmail.com>\n"
 "Florentina Mușat <florentina [dot] musat [dot] 28 [at] gmail [dot] com>, "
-"2019-2021\n"
+"2019-2021, 2023\n"
 "\n"
 "Launchpad Contributions:\n"
 "  Adi Roiban https://launchpad.net/~adiroiban\n";
@@ -353,28 +392,32 @@
 "  Mugurel Tudor https://launchpad.net/~mugurelu-gnome\n";
 "  leandrud https://launchpad.net/~leandrud";
 
-#: src/number-picker.vala:85
+#: src/number-picker.vala:87
 msgid "Clear"
 msgstr "Eliberează"
 
 #. Error message if printing fails
-#: src/sudoku-printer.vala:47
+#: src/sudoku-printer.vala:45
 msgid "Error printing file:"
 msgstr "Eroare la tipărirea fișierului:"
 
-#. Text on overlay when game is paused
-#: src/sudoku-view.vala:634
-msgid "Paused"
-msgstr "Pauzat"
-
-#: src/sudoku-window.vala:153
+#: src/sudoku-window.vala:156
 msgid "Select Difficulty"
 msgstr "Selectați dificultatea"
 
-#: src/sudoku-window.vala:214
+#: src/sudoku-window.vala:219
 msgid "Create Puzzle"
 msgstr "Creează un puzzle"
 
+#~ msgid "_Create your own puzzle"
+#~ msgstr "_Creați propriul puzzle"
+
+#~ msgid "_Cancel"
+#~ msgstr "_Anulează"
+
+#~ msgid "Paused"
+#~ msgstr "Pauzat"
+
 #~ msgid "Reset the board to its original state"
 #~ msgstr "Restabilește tabla la starea ei originală"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.2/src/number-picker.vala 
new/gnome-sudoku-45.3/src/number-picker.vala
--- old/gnome-sudoku-45.2/src/number-picker.vala        2023-10-20 
19:43:48.000000000 +0200
+++ new/gnome-sudoku-45.3/src/number-picker.vala        2023-12-01 
15:36:33.000000000 +0100
@@ -131,12 +131,14 @@
     }
 
     public void set_earmarks (int row, int col)
+        requires (is_earmark)
     {
         for (var i = 0; i < board.max_val; i++)
             set_earmark (row, col, i, board.is_earmark_enabled (row, col, i + 
1));
     }
 
     public void set_earmark (int row, int col, int index, bool state)
+        requires (is_earmark)
     {
         get_button_for (index).set_active (state);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.2/src/sudoku-cell.vala 
new/gnome-sudoku-45.3/src/sudoku-cell.vala
--- old/gnome-sudoku-45.2/src/sudoku-cell.vala  2023-10-20 19:43:48.000000000 
+0200
+++ new/gnome-sudoku-45.3/src/sudoku-cell.vala  2023-12-01 15:36:33.000000000 
+0100
@@ -275,7 +275,7 @@
             {
                 var new_state = !game.board.is_earmark_enabled (row, col, key);
 
-                if (number_picker != null)
+                if (number_picker != null && number_picker.is_earmark)
                 {
                     number_picker.set_earmark (row, col, key - 1, new_state);
                 }
@@ -491,43 +491,45 @@
     public void check_warnings ()
     {
         bool error = false;
+        int solution = game.board.get_solution (row, col);
+        var marks = game.board.get_earmarks (row, col);
 
         if (show_warnings &&
             this.value == 0 &&
             game.board.count_possibilities (row, col) == 0)
+        {
             value_label.set_label ("X");
+        }
         else
-            value_label.set_label (value.to_string ());
+            value_label.set_label (this.value.to_string ());
 
-        if (warn_incorrect_solution ())
-        {
-            int solution = game.board.get_solution (row, col);
-            if (this.value != 0)
-            {
-                error = value != solution;
-            }
-            else
-            {
-                var marks = game.board.get_earmarks (row, col);
-                for (int num = 1; num <= marks.length; num++)
-                {
-                    if (marks[num - 1])
-                    {
-                        if (num != solution)
-                            earmark_labels[num - 1].add_css_class ("error");
-                    }
-                }
-            }
-        }
+        if (warn_incorrect_solution () && this.value != 0)
+            error = this.value != solution;
 
         if (show_warnings &&
             game.board.broken_coords.contains (Coord (row, col)))
+        {
             error = true;
+        }
 
         if (error)
             add_css_class ("error");
         else
             remove_css_class ("error");
+
+        if (this.value != 0)
+            return;
+
+        for (int num = 1; num <= marks.length; num++)
+        {
+            if (marks[num - 1])
+            {
+                if (!game.board.is_possible (row, col, num) || 
warn_incorrect_solution () && num != solution)
+                    earmark_labels[num - 1].add_css_class ("error");
+                else
+                    earmark_labels[num - 1].remove_css_class ("error");
+            }
+        }
     }
 
     // Return true if the user is to be warned when the value or earmarks are
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.2/src/sudoku-view.vala 
new/gnome-sudoku-45.3/src/sudoku-view.vala
--- old/gnome-sudoku-45.2/src/sudoku-view.vala  2023-10-20 19:43:48.000000000 
+0200
+++ new/gnome-sudoku-45.3/src/sudoku-view.vala  2023-12-01 15:36:33.000000000 
+0100
@@ -162,42 +162,54 @@
         ShortcutFunc up_func = (self) => {
             var view = (SudokuView) self;
 
+            if (view.selected_row == -1 || view.selected_col == -1)
+                return Gdk.EVENT_PROPAGATE;
+
             if (view.selected_row == 0)
                 view.cells[8, view.selected_col].grab_focus ();
             else
                 view.cells[view.selected_row - 1, 
view.selected_col].grab_focus ();
 
-            return true;
+            return Gdk.EVENT_STOP;
         };
         ShortcutFunc down_func = (self) => {
             var view = (SudokuView) self;
 
+            if (view.selected_row == -1 || view.selected_col == -1)
+                return Gdk.EVENT_PROPAGATE;
+
             if (view.selected_row == 8)
                 view.cells[0, view.selected_col].grab_focus ();
             else
                 view.cells[view.selected_row + 1, 
view.selected_col].grab_focus ();
 
-            return true;
+            return Gdk.EVENT_STOP;
         };
         ShortcutFunc left_func = (self) => {
             var view = (SudokuView) self;
 
+            if (view.selected_row == -1 || view.selected_col == -1)
+                return Gdk.EVENT_PROPAGATE;
+
             if (view.selected_col == 0)
                 view.cells[view.selected_row, 8].grab_focus ();
             else
                 view.cells[view.selected_row, view.selected_col - 
1].grab_focus ();
 
-            return true;
+            return Gdk.EVENT_STOP;
         };
         ShortcutFunc right_func = (self) => {
             var view = (SudokuView) self;
 
+            if (view.selected_row == -1 || view.selected_col == -1)
+                return Gdk.EVENT_PROPAGATE;
+
             if (view.selected_col == 8)
                 view.cells[view.selected_row, 0].grab_focus ();
             else
                 view.cells[view.selected_row, view.selected_col + 
1].grab_focus ();
 
-            return true;
+            return Gdk.EVENT_STOP;
         };
 
         add_binding (Gdk.Key.Up, 0, up_func, null);

Reply via email to