Previously I used CTX_copy to create a mutable copy of the context in
order to set its area and region fields to temporary variables. This was
a tradeoff to avoid casting away const for bContext.
However, it looks like bpy.context is set to this new temporary value.
This is fine for a single wm_draw_update pass, but in the next main
loop, bpy.context is still set to this value, which was freed at the
end of property_search_all_tabs. Maybe there is a way to reset the
bpy.context variable ath the end of the function, but this patch
contains an alternate solution: just don't copy the context. It looks
like this was the only use of CTX_copy anyway, maybe for good reason.
If there's a simple way to reset bpy.context at the end of the all
tab search, I would be happy to do that instead if it was preferred, but
I haven't found it if it exists.