Is it possible to do, that character would only walk if player have clicked ON walkable area and if player have clicked outside walkable area, then character wouldn't move.
I don't really understand why you would want to do that, but you could check GetWalkableAreaAt(mouse.x, mouse.y) before processing the click for eModeWalkto (in on_mouse_click).