Merge branch 'master' into blender2.8
authorCampbell Barton <ideasman42@gmail.com>
Thu, 25 Jan 2018 11:20:27 +0000 (22:20 +1100)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 25 Jan 2018 11:20:27 +0000 (22:20 +1100)
source/blender/editors/interface/interface_handlers.c
source/blender/windowmanager/WM_types.h

index 1e31837f08824494d3bbcbb3e4cbc2280a56f891..3af64c8c5a6645539c48a98b4cf5cd23a1f2f5ec 100644 (file)
@@ -7720,7 +7720,9 @@ void UI_but_tooltip_timer_remove(bContext *C, uiBut *but)
                        data->autoopentimer = NULL;
                }
 
-               WM_tooltip_clear(C, data->window);
+               if (data->window) {
+                       WM_tooltip_clear(C, data->window);
+               }
        }
 }
 
index 7254301b87498b221e807c2c9c668205e027bade..8ec6438ca45b9a12687aeed0eb6074b16e62f2f4 100644 (file)
@@ -702,12 +702,20 @@ typedef struct wmDropBox {
 
 } wmDropBox;
 
+/**
+ * Struct to store tool-tip timer and possible creation if the time is reached.
+ * Allows UI code to call #WM_tooltip_timer_init without each user having to handle the timer.
+ */
 typedef struct wmTooltipState {
+       /** Create tooltip on this event. */
        struct wmTimer *timer;
+       /** The region the tooltip is created in. */
        struct ARegion *region_from;
+       /** The tooltip region. */
        struct ARegion *region;
+       /** Create the tooltip region (assign to 'region'). */
        struct ARegion *(*init)(struct bContext *, struct ARegion *, bool *r_exit_on_event);
-       /* Exit on any event, not needed for buttons since their highlight state is used. */
+       /** Exit on any event, not needed for buttons since their highlight state is used. */
        bool exit_on_event;
 } wmTooltipState;