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-10-23 23:41:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-sudoku (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-sudoku.new.1945 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-sudoku"

Mon Oct 23 23:41:09 2023 rev:49 rq:1119665 version:45.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-sudoku/gnome-sudoku.changes        
2023-10-17 20:24:04.473341679 +0200
+++ /work/SRC/openSUSE:Factory/.gnome-sudoku.new.1945/gnome-sudoku.changes      
2023-10-23 23:41:16.228194567 +0200
@@ -1,0 +2,8 @@
+Fri Oct 20 18:32:01 UTC 2023 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 45.2:
+  + Fix Ctrl+N not setting earmarks
+  + Fix warning about failure to solve puzzle when loading games
+    with an incorrect value
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ gnome-sudoku.spec ++++++
--- /var/tmp/diff_new_pack.mmKQhy/_old  2023-10-23 23:41:16.820216059 +0200
+++ /var/tmp/diff_new_pack.mmKQhy/_new  2023-10-23 23:41:16.820216059 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           gnome-sudoku
-Version:        45.1
+Version:        45.2
 Release:        0
 Summary:        Sudoku Game for GNOME
 License:        GPL-3.0-or-later

++++++ gnome-sudoku-45.1.tar.xz -> gnome-sudoku-45.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.1/NEWS new/gnome-sudoku-45.2/NEWS
--- old/gnome-sudoku-45.1/NEWS  2023-10-14 15:53:05.000000000 +0200
+++ new/gnome-sudoku-45.2/NEWS  2023-10-20 19:43:48.000000000 +0200
@@ -1,3 +1,9 @@
+45.2 - October 20, 2023
+=======================
+
+- Fix Ctrl+N not setting earmarks (#74)
+- Fix warning about failure to solve puzzle when loading games with an 
incorrect value
+
 45.1 - October 14, 2023
 =======================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-sudoku-45.1/data/org.gnome.Sudoku.appdata.xml.in 
new/gnome-sudoku-45.2/data/org.gnome.Sudoku.appdata.xml.in
--- old/gnome-sudoku-45.1/data/org.gnome.Sudoku.appdata.xml.in  2023-10-14 
15:53:05.000000000 +0200
+++ new/gnome-sudoku-45.2/data/org.gnome.Sudoku.appdata.xml.in  2023-10-20 
19:43:48.000000000 +0200
@@ -47,6 +47,7 @@
     <kudo>UserDocs</kudo>
   </kudos>
   <releases>
+    <release version="45.2" date="2023-10-20"/>
     <release version="45.1" date="2023-10-14"/>
     <release version="45.0" date="2023-09-15"/>
     <release version="45~alpha" date="2023-06-29"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.1/lib/sudoku-board.vala 
new/gnome-sudoku-45.2/lib/sudoku-board.vala
--- old/gnome-sudoku-45.1/lib/sudoku-board.vala 2023-10-14 15:53:05.000000000 
+0200
+++ new/gnome-sudoku-45.2/lib/sudoku-board.vala 2023-10-20 19:43:48.000000000 
+0200
@@ -376,9 +376,28 @@
         return solution[row, col];
     }
 
+    private int[,] fixed_cells_only ()
+    {
+        int[,] result = new int[rows, cols];
+
+        for (int row = 0; row < rows; row++)
+        {
+            for (int col = 0; col < cols; col++)
+            {
+                if (is_fixed[row, col])
+                    result[row, col] = cells[row, col];
+                else
+                    result[row, col] = 0;
+            }
+        }
+
+        return result;
+    }
+
     public void solve ()
     {
-        int[] solution_1d = convert_2d_to_1d (cells);
+        int[,] fixed_cells = fixed_cells_only ();
+        int[] solution_1d = convert_2d_to_1d (fixed_cells);
 
         if (QQwing.solve_puzzle (solution_1d))
             solution = convert_1d_to_2d (solution_1d);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.1/meson.build 
new/gnome-sudoku-45.2/meson.build
--- old/gnome-sudoku-45.1/meson.build   2023-10-14 15:53:05.000000000 +0200
+++ new/gnome-sudoku-45.2/meson.build   2023-10-20 19:43:48.000000000 +0200
@@ -4,7 +4,7 @@
   ],
   license: 'GPL3+',
   meson_version: '>= 0.59',
-  version: '45.1'
+  version: '45.2'
 )
 application_id = 'org.gnome.Sudoku'
 add_project_arguments([
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.1/src/number-picker.vala 
new/gnome-sudoku-45.2/src/number-picker.vala
--- old/gnome-sudoku-45.1/src/number-picker.vala        2023-10-14 
15:53:05.000000000 +0200
+++ new/gnome-sudoku-45.2/src/number-picker.vala        2023-10-20 
19:43:48.000000000 +0200
@@ -45,7 +45,7 @@
         {
             for (var row = 0; row < board.block_rows; row++)
             {
-                int n = col + (2 - row) * board.block_cols + 1;
+                int n = col + ((board.block_rows - 1) - row) * 
board.block_cols + 1;
 
                 var button = earmark ? new ToggleButton () : new Button ();
                 button.focus_on_click = false;
@@ -144,6 +144,6 @@
     private ToggleButton get_button_for (int number)
     {
         return (ToggleButton) this.get_child_at (number % board.block_cols,
-            2 - (number / board.block_rows));
+            (board.block_rows - 1) - (number / board.block_rows));
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.1/src/sudoku-cell.vala 
new/gnome-sudoku-45.2/src/sudoku-cell.vala
--- old/gnome-sudoku-45.1/src/sudoku-cell.vala  2023-10-14 15:53:05.000000000 
+0200
+++ new/gnome-sudoku-45.2/src/sudoku-cell.vala  2023-10-20 19:43:48.000000000 
+0200
@@ -267,20 +267,26 @@
         if (key >= 1 && key <= 9)
         {
             // check for earmark popover
-            var earmark_picker = (NumberPicker) this.popover.get_child ();
+            var number_picker = (NumberPicker) this.popover.get_child ();
 
-            bool want_earmark = (earmark_picker != null && 
earmark_picker.is_earmark) ||
+            bool want_earmark = (this.popover.visible && number_picker != null 
&& number_picker.is_earmark) ||
                                 (state & ModifierType.CONTROL_MASK) > 0;
             if (want_earmark && game.mode == GameMode.PLAY)
             {
                 var new_state = !game.board.is_earmark_enabled (row, col, key);
-                if (new_state)
-                    game.enable_earmark (row, col, key);
-                else
-                    game.disable_earmark (row, col, key);
 
-                if (earmark_picker != null)
-                    earmark_picker.set_earmark (row, col, key - 1, new_state);
+                if (number_picker != null)
+                {
+                    number_picker.set_earmark (row, col, key - 1, new_state);
+                }
+                else
+                {
+                    if (new_state)
+                        game.enable_earmark (row, col, key);
+                    else
+                        game.disable_earmark (row, col, key);
+                    this.game.cell_changed (row, col, value, value);
+                }
             }
             else
             {
@@ -437,14 +443,18 @@
         earmark_picker.set_clear_button_visibility (true);
         if (!this.game.board.has_earmarks (row, col))
             earmark_picker.set_clear_button_enabled (false);
-        earmark_picker.earmark_state_changed.connect ((number, state) => {
-            if (state)
-                this.game.enable_earmark (row, col, number);
-            else
-                if (number == 0)
-                    this.game.disable_all_earmarks (row, col);
+            earmark_picker.earmark_state_changed.connect ((number, state) => {
+                if (state)
+                {
+                    this.game.enable_earmark (row, col, number);
+                }
                 else
-                    this.game.disable_earmark (row, col, number);
+                {
+                    if (number == 0)
+                        this.game.disable_all_earmarks (row, col);
+                    else
+                        this.game.disable_earmark (row, col, number);
+                }
 
             if (!this.game.board.has_earmarks (row, col))
                 earmark_picker.set_clear_button_enabled (false);
@@ -594,3 +604,4 @@
         label.set_attributes (attr_list);
     }
 }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-sudoku-45.1/src/sudoku-view.vala 
new/gnome-sudoku-45.2/src/sudoku-view.vala
--- old/gnome-sudoku-45.1/src/sudoku-view.vala  2023-10-14 15:53:05.000000000 
+0200
+++ new/gnome-sudoku-45.2/src/sudoku-view.vala  2023-10-20 19:43:48.000000000 
+0200
@@ -75,7 +75,7 @@
                 attr_list = new Pango.AttrList ();
 
             attr_list.change (
-                Pango.AttrSize.new_absolute ((int) (this.get_allocated_width 
() * 0.125) * Pango.SCALE)
+                Pango.AttrSize.new_absolute ((int) (this.get_width () * 0.125) 
* Pango.SCALE)
             );
 
             this.paused.set_attributes (attr_list);

Reply via email to