diff options
Diffstat (limited to 'source/blender/windowmanager/intern')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 25 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 24 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_init_exit.c | 13 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 4 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 6 |
5 files changed, 31 insertions, 41 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index e5b98a1b735..ad8c31a32f3 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -2197,12 +2197,6 @@ static int wm_event_inside_i(wmEvent *event, rcti *rect) return 1; if (BLI_rcti_isect_pt_v(rect, &event->x)) return 1; - if (event->type == MOUSEMOVE) { - if (BLI_rcti_isect_pt_v(rect, &event->prevx)) { - return 1; - } - return 0; - } return 0; } @@ -2432,7 +2426,6 @@ void wm_event_do_handlers(bContext *C) if ((action & WM_HANDLER_BREAK) == 0) { ScrArea *sa; ARegion *ar; - int doit = 0; /* Note: setting subwin active should be done here, after modal handlers have been done */ if (event->type == MOUSEMOVE) { @@ -2484,8 +2477,6 @@ void wm_event_do_handlers(bContext *C) if (CTX_wm_window(C) == NULL) return; - doit |= (BLI_rcti_isect_pt_v(&ar->winrct, &event->x)); - if (action & WM_HANDLER_BREAK) break; } @@ -2518,18 +2509,12 @@ void wm_event_do_handlers(bContext *C) return; } - /* XXX hrmf, this gives reliable previous mouse coord for area change, feels bad? - * doing it on ghost queue gives errors when mousemoves go over area borders */ - if (doit && win->screen->subwinactive != win->screen->mainwin) { - win->eventstate->prevx = event->x; - win->eventstate->prevy = event->y; - //printf("win->eventstate->prev = %d %d\n", event->x, event->y); - } - else { - //printf("not setting prev to %d %d\n", event->x, event->y); - } } - + + /* update previous mouse position for following events to use */ + win->eventstate->prevx = event->x; + win->eventstate->prevy = event->y; + /* unlink and free here, blender-quit then frees all */ BLI_remlink(&win->queue, event); wm_event_free(event); diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 498a3f5bdda..36b819d3495 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -74,6 +74,8 @@ #include "BKE_utildefines.h" #include "BKE_autoexec.h" #include "BKE_blender.h" +#include "BKE_blendfile.h" +#include "BKE_blender_undo.h" #include "BKE_context.h" #include "BKE_depsgraph.h" #include "BKE_global.h" @@ -341,7 +343,7 @@ static void wm_init_userdef(bContext *C, const bool from_memory) /* update tempdir from user preferences */ BKE_tempdir_init(U.tempdir); - BKE_userdef_state(); + BKE_blender_userdef_refresh(); } @@ -551,7 +553,7 @@ bool WM_file_read(bContext *C, const char *filepath, ReportList *reports) /* confusing this global... */ G.relbase_valid = 1; - retval = BKE_read_file(C, filepath, reports); + retval = BKE_blendfile_read(C, filepath, reports); /* when loading startup.blend's, we can be left with a blank path */ if (G.main->name[0]) { G.save_over = 1; @@ -572,12 +574,12 @@ bool WM_file_read(bContext *C, const char *filepath, ReportList *reports) wm_window_match_do(C, &wmbase); WM_check(C); /* opens window(s), checks keymaps */ - if (retval == BKE_READ_FILE_OK_USERPREFS) { + if (retval == BKE_BLENDFILE_READ_OK_USERPREFS) { /* in case a userdef is read from regular .blend */ wm_init_userdef(C, false); } - if (retval != BKE_READ_FILE_FAIL) { + if (retval != BKE_BLENDFILE_READ_FAIL) { if (do_history) { wm_history_file_update(); } @@ -690,7 +692,7 @@ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const c if (!from_memory) { if (BLI_access(startstr, R_OK) == 0) { - success = (BKE_read_file(C, startstr, NULL) != BKE_READ_FILE_FAIL); + success = (BKE_blendfile_read(C, startstr, NULL) != BKE_BLENDFILE_READ_FAIL); } if (BLI_listbase_is_empty(&U.themes)) { if (G.debug & G_DEBUG) @@ -705,7 +707,7 @@ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const c } if (success == 0) { - success = BKE_read_file_from_memory(C, datatoc_startup_blend, datatoc_startup_blend_size, NULL, true); + success = BKE_blendfile_read_from_memory(C, datatoc_startup_blend, datatoc_startup_blend_size, NULL, true); if (BLI_listbase_is_empty(&wmbase)) { wm_clear_default_size(C); } @@ -720,8 +722,8 @@ int wm_homefile_read(bContext *C, ReportList *reports, bool from_memory, const c /* check new prefs only after startup.blend was finished */ if (!from_memory && BLI_exists(prefstr)) { - int done = BKE_read_file_userdef(prefstr, NULL); - if (done != BKE_READ_FILE_FAIL) { + int done = BKE_blendfile_read_userdef(prefstr, NULL); + if (done != BKE_BLENDFILE_READ_FAIL) { read_userdef_from_memory = false; printf("Read new prefs: %s\n", prefstr); } @@ -1352,7 +1354,7 @@ static int wm_userpref_write_exec(bContext *C, wmOperator *op) BLI_make_file_string("/", filepath, BKE_appdir_folder_id_create(BLENDER_USER_CONFIG, NULL), BLENDER_USERPREF_FILE); printf("trying to save userpref at %s ", filepath); - if (BKE_write_file_userdef(filepath, op->reports) == 0) { + if (BKE_blendfile_write_userdef(filepath, op->reports) == 0) { printf("fail\n"); return OPERATOR_CANCELLED; } @@ -1631,6 +1633,7 @@ void WM_OT_open_mainfile(wmOperatorType *ot) static int wm_revert_mainfile_exec(bContext *C, wmOperator *op) { bool success; + char filepath[FILE_MAX]; wm_open_init_use_scripts(op, false); @@ -1639,7 +1642,8 @@ static int wm_revert_mainfile_exec(bContext *C, wmOperator *op) else G.f &= ~G_SCRIPT_AUTOEXEC; - success = wm_file_read_opwrap(C, G.main->name, op->reports, !(G.f & G_SCRIPT_AUTOEXEC)); + BLI_strncpy(filepath, G.main->name, sizeof(filepath)); + success = wm_file_read_opwrap(C, filepath, op->reports, !(G.f & G_SCRIPT_AUTOEXEC)); if (success) { return OPERATOR_FINISHED; diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c index e08d0afb906..6300d2ed3c7 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windowmanager/intern/wm_init_exit.c @@ -54,6 +54,7 @@ #include "BLO_writefile.h" #include "BKE_blender.h" +#include "BKE_blender_undo.h" #include "BKE_context.h" #include "BKE_screen.h" #include "BKE_DerivedMesh.h" @@ -492,10 +493,10 @@ void WM_exit_ext(bContext *C, const bool do_python) RE_FreeAllRender(); RE_engines_exit(); - ED_preview_free_dbase(); /* frees a Main dbase, before free_blender! */ + ED_preview_free_dbase(); /* frees a Main dbase, before BKE_blender_free! */ if (C && wm) - wm_free_reports(C); /* before free_blender! - since the ListBases get freed there */ + wm_free_reports(C); /* before BKE_blender_free! - since the ListBases get freed there */ BKE_sequencer_free_clipboard(); /* sequencer.c */ BKE_tracking_clipboard_free(); @@ -506,7 +507,7 @@ void WM_exit_ext(bContext *C, const bool do_python) COM_deinitialize(); #endif - free_blender(); /* blender.c, does entire library and spacetypes */ + BKE_blender_free(); /* blender.c, does entire library and spacetypes */ // free_matcopybuf(); ANIM_fcurves_copybuf_free(); ANIM_drivers_copybuf_free(); @@ -534,10 +535,10 @@ void WM_exit_ext(bContext *C, const bool do_python) /* option not to close python so we can use 'atexit' */ if (do_python) { /* XXX - old note */ - /* before free_blender so py's gc happens while library still exists */ + /* before BKE_blender_free so py's gc happens while library still exists */ /* needed at least for a rare sigsegv that can happen in pydrivers */ - /* Update for blender 2.5, move after free_blender because blender now holds references to PyObject's + /* Update for blender 2.5, move after BKE_blender_free because blender now holds references to PyObject's * so decref'ing them after python ends causes bad problems every time * the pyDriver bug can be fixed if it happens again we can deal with it then */ BPY_python_end(); @@ -562,7 +563,7 @@ void WM_exit_ext(bContext *C, const bool do_python) ED_file_exit(); /* for fsmenu */ UI_exit(); - BKE_userdef_free(); + BKE_blender_userdef_free(); RNA_exit(); /* should be after BPY_python_end so struct python slots are cleared */ diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 8a15237078a..e4ba3969824 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -67,7 +67,7 @@ #include "BLO_readfile.h" #include "BKE_appdir.h" -#include "BKE_blender.h" +#include "BKE_blender_version.h" #include "BKE_brush.h" #include "BKE_context.h" #include "BKE_depsgraph.h" @@ -3124,7 +3124,7 @@ static void radial_control_paint_cursor(bContext *C, int x, int y, void *customd BLF_size(fontid, 1.5 * fstyle_points, 1.0f / U.dpi); BLF_enable(fontid, BLF_SHADOW); - BLF_shadow(fontid, 3, 0.0f, 0.0f, 0.0f, 0.5f); + BLF_shadow(fontid, 3, (const float[4]){0.0f, 0.0f, 0.0f, 0.5f}); BLF_shadow_offset(fontid, 1, -1); /* draw value */ diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 688be21cdd0..42f6585f152 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -457,7 +457,7 @@ static void wm_window_ghostwindow_add(wmWindowManager *wm, const char *title, wm /* displays with larger native pixels, like Macbook. Used to scale dpi with */ /* needed here, because it's used before it reads userdef */ U.pixelsize = wm_window_pixelsize(win); - BKE_userdef_state(); + BKE_blender_userdef_refresh(); wm_window_swap_buffers(win); @@ -834,7 +834,7 @@ void wm_window_make_drawable(wmWindowManager *wm, wmWindow *win) /* this can change per window */ U.pixelsize = wm_window_pixelsize(win); - BKE_userdef_state(); + BKE_blender_userdef_refresh(); } } @@ -1197,7 +1197,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr // printf("change, pixel size %f\n", GHOST_GetNativePixelSize(win->ghostwin)); U.pixelsize = wm_window_pixelsize(win); - BKE_userdef_state(); + BKE_blender_userdef_refresh(); WM_event_add_notifier(C, NC_SCREEN | NA_EDITED, NULL); WM_event_add_notifier(C, NC_WINDOW | NA_EDITED, NULL); |