Update pointer when pointer grab is released
Currently, when a pointer grab is released, the pointer isn't being updated - the cursor icon stays the same as during the grab and the surface underneath the cursor don't get notified about pointer movement or button presses. You need to slightly move the cursor for it to update it.
This is easily noticeable after closing the top menu (xdg-popup) using mouse by clicking somewhere outside it. If you manage to keep the cursor still, you'll see that anything that's behind it won't get hovered, further button presses won't be registered and that cursor won't change its appearance until it's moved.