Avoid segfaults due to image cache being cleared during redisplay

* src/xdisp.c (redisplay_internal): Set the
inhibit_clear_image_cache flag of a frame while its windows
are being redisplayed, and reset the flag after the call top
update_frame returns.
* src/image.c (clear_image_cache): Do nothing if the frame's
inhibit_clear_image_cache flag is set.  (Bug#34256)
* src/frame.h (struct frame): New flag inhibit_clear_image_cache.
1 job for master in 50 minutes and 3 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Test
failed #737
test-all

00:50:03

 
Name Stage Failure
failed
test-all Test
Makefile:309: recipe for target 'check-doit' failed
make[2]: Leaving directory '/builds/emacs/emacs/test'
make[2]: *** [check-doit] Error 1
Makefile:284: recipe for target 'check-expensive' failed
make[1]: Leaving directory '/builds/emacs/emacs/test'
Makefile:962: recipe for target 'check-expensive' failed
make[1]: *** [check-expensive] Error 2
make: *** [check-expensive] Error 2
ERROR: Job failed: exit code 1