Maproom / qmapshack

Consumer grade GIS software
GNU General Public License v3.0
271 stars 63 forks source link

BRouter on-the-fly routing cannot be canceled #630

Closed ntruchsess closed 10 months ago

ntruchsess commented 10 months ago

Describe the bug

comment: # while creating a track or route with BRouter local on-the-fly routing being enabled a running route-calculation cannot be canceled.

What have you done to circle down the problem?

comment: # in CRouterBRouter.cpp line 323 https://github.com/kiozen/qmapshack/blob/0bf7de3d892da2dd121f2e39afe1a758b03fb938/src/qmapshack/gis/rte/router/CRouterBRouter.cpp#L323 the routing-request is processed in a local eventloop that is executed with with the flag QEventLoop::ExcludeUserInputEvents.

To Reproduce

  1. in router config dialog choose BRouter (offline)
  2. if not yet done install BRouter locally klicking Setup and make sure to successfully complete the brouter installation wizzard downloading some tiles that cover a lager area.
  3. zoom the map to a location that is covered by brouter routing data (see tiles download dialog in install wizzard).
  4. right click on the map, choose a point that is located on some street or path that is likely to be inclused in brouter routing data.
  5. zoom out and move to a location that of both some 100km away from the starting-point and also covered by brouter routing data.
  6. zoom in and place the mouse over a location that is likely to be covered by routing data.
  7. stop moving the mouse. On-the-fly routing should start.
  8. wait until a dialog with the title 'Please wait...' appears.
  9. click 'cancel' on this dialog.
  10. => nothing happens, the dialog cannot be canceled.

Expected behavior

comment: # said dialog would close by clicking 'cancel', the on-the-fly route calculation would be interrupted and a corresponding message would appear in the status area.

Screenshots

Screenshot from 2023-08-11 20-10-37

Attachments

comment: # none

Tracebacks

comment: # none

Desktop

Additional context

comment: # none