Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjulianeisel <julian_eisel@web.de>2015-01-14 03:29:17 +0300
committerjulianeisel <julian_eisel@web.de>2015-01-14 03:29:17 +0300
commitf19013158ab51dd8a9ed7a0121c2858c310f8286 (patch)
tree8a91133e61bb40091295405f6a569f69f9a936fb /source/blender/makesdna/DNA_screen_types.h
parent3d503ea8d6fa8ff397565b90cb53a4e211aef847 (diff)
Workaround/Fix T43139: Calling bpy.ops.screen.screen_full_area() multiple times in python console causes Blender to crash
This was sort of a chicken<->egg dilemma, because after a maximized screen was restored, the screen handling used region coordinates which weren't updated yet. I'm still not sure why, but this resulted in area coords that go beond INT_MAX. To fix this I made sure the first screen handling after restoring a maximized screen is skipped, so that it's delayed to the next call of wm_event_do_handlers (since this is called from main loop there shouldn't be a noticable delay or any handling glitches).
Diffstat (limited to 'source/blender/makesdna/DNA_screen_types.h')
-rw-r--r--source/blender/makesdna/DNA_screen_types.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index 941a7d020bc..f23d02f190c 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -69,11 +69,12 @@ typedef struct bScreen {
short do_draw_paintcursor; /* notifier for paint cursor draw. */
short do_draw_drag; /* notifier for dragging draw. */
short swap; /* indicator to survive swap-exchange systems */
+ short skip_handling; /* set to delay screen handling after switching back from maximized area */
short mainwin; /* screensize subwindow, for screenedges and global menus */
short subwinactive; /* active subwindow */
- short pad;
+ double pad;
struct wmTimer *animtimer; /* if set, screen has timer handler added in window */
void *context; /* context callback */
@@ -215,7 +216,7 @@ typedef struct ScrArea {
short do_refresh; /* private, for spacetype refresh callback */
short flag;
short region_active_win; /* index of last used region of 'RGN_TYPE_WINDOW'
- * runtuime variable, updated by executing operators */
+ * runtime variable, updated by executing operators */
char temp, pad;
struct SpaceType *type; /* callbacks for this space type */