roygbyte / crossword.koplugin

Crosswords on your KOReader device
GNU Affero General Public License v3.0
17 stars 2 forks source link

Unable to directly select squares in first five rows #8

Closed neilswann80 closed 8 months ago

neilswann80 commented 8 months ago

Only just discovered this plugin and am instantly a huge fan! I flippin' love it. A big thankyou for all the time you've spent on it.

I'm running the plugin through koreader installed on a PocketBook 632 for reference.

I'm unable to directly select cells/squares in roughly the first five rows. I say roughly because it changes from puzzle to puzzle, but is roughly the first 75 squares +- 6 squares. (for the puzzles I've tested thus far.)

This isn't a huge problem as I can still use the cursor keys to move through that area, but not being able to directly select a specific square in that area for deletion certainly makes for a clumsier experience.

I'm not hugely familiar with LUA, having only made minor changes to existing koreader plugins; but could you suggest which file and function I could try to tweak?

My guess would be gridsquare.lua within function GridSquare:init() ???

Thanks in advance.

roygbyte commented 8 months ago

Hi, thanks for the bug report. aero31areo mentioned a similar issue, and I've experienced (and coped with) this bug to. For me, it only affects the top left square. So that's interesting you say it affects a few squares. I'll take a look in the next week or so.

neilswann80 commented 8 months ago

FYI... my problem was caused by an older version of gameview.lua in the latest release: https://github.com/roygbyte/crossword.koplugin/releases/tag/0.1 Overwriting this with the latest from the main branch solved the issue.

Around line 80...

if(self.puzzle:getSquareAtPos(row_num, col_num)) then return end

Seemed to be causing the issue which has been replaced by:

if not self.puzzle:getSolveByIndex(maybe_square_index) then return end

Now I'm only getting the bug you mentioned with the very first square.

It may be worth removing or updating the release package so other users don't experience the same issue.