diff --git a/window.cpp b/window.cpp index f19a03ecb773040dcb7424a2446b24e0b3759493..2b7236eca5a1d2e2bd682a2316600e2d78929b94 100644 --- a/window.cpp +++ b/window.cpp @@ -53,10 +53,11 @@ Window::Window(QWidget *parent) for (int d = 0; d < 9; d++) // rows and columns { connect(&grid[x + y * 9], SIGNAL(update(int)), &grid[x + d * 9], SLOT(removeOption(int))); - connect(&grid[x + y * 9], SIGNAL(update(int)), &grid[d + y * 9], SLOT(removeOption(int))); - connect(&grid[x + y * 9], SIGNAL(undo(int)), &grid[x + d * 9], SLOT(addOption(int))); - connect(&grid[x + y * 9], SIGNAL(undo(int)), &grid[d + y * 9], SLOT(addOption(int))); + if(&grid[x+y*9]!= &grid[d+y*9]){ + connect(&grid[x + y * 9], SIGNAL(update(int)), &grid[d + y * 9], SLOT(removeOption(int))); + connect(&grid[x + y * 9], SIGNAL(undo(int)), &grid[d + y * 9], SLOT(addOption(int))); + } } int a = x / 3 * 3; int b = y / 3 * 3;