diff options
Diffstat (limited to 'source/blender/windowmanager/intern')
7 files changed, 30 insertions, 24 deletions
diff --git a/source/blender/windowmanager/intern/wm_dragdrop.c b/source/blender/windowmanager/intern/wm_dragdrop.c index da40040ce56..319e83f667f 100644 --- a/source/blender/windowmanager/intern/wm_dragdrop.c +++ b/source/blender/windowmanager/intern/wm_dragdrop.c @@ -42,6 +42,8 @@ #include "BKE_idtype.h" #include "BKE_lib_id.h" +#include "ED_asset.h" + #include "GPU_shader.h" #include "GPU_state.h" #include "GPU_viewport.h" @@ -196,6 +198,7 @@ void WM_drag_data_free(int dragtype, void *poin) /* Not too nice, could become a callback. */ if (dragtype == WM_DRAG_ASSET) { wmDragAsset *asset_drag = poin; + MEM_SAFE_FREE(asset_drag->asset_handle); MEM_freeN((void *)asset_drag->path); } MEM_freeN(poin); @@ -373,18 +376,20 @@ wmDragAsset *WM_drag_get_asset_data(const wmDrag *drag, int idcode) } wmDragAsset *asset_drag = drag->poin; - return (ELEM(idcode, 0, asset_drag->id_type)) ? asset_drag : NULL; + ID_Type idtype = ED_asset_handle_get_id_type(asset_drag->asset_handle); + return (ELEM(idcode, 0, (int)idtype)) ? asset_drag : NULL; } static ID *wm_drag_asset_id_import(wmDragAsset *asset_drag) { + const char *name = ED_asset_handle_get_name(asset_drag->asset_handle); + ID_Type idtype = ED_asset_handle_get_id_type(asset_drag->asset_handle); + switch ((eFileAssetImportType)asset_drag->import_type) { case FILE_ASSET_IMPORT_LINK: - return WM_file_link_datablock( - G_MAIN, NULL, NULL, NULL, asset_drag->path, asset_drag->id_type, asset_drag->name); + return WM_file_link_datablock(G_MAIN, NULL, NULL, NULL, asset_drag->path, idtype, name); case FILE_ASSET_IMPORT_APPEND: - return WM_file_append_datablock( - G_MAIN, NULL, NULL, NULL, asset_drag->path, asset_drag->id_type, asset_drag->name); + return WM_file_append_datablock(G_MAIN, NULL, NULL, NULL, asset_drag->path, idtype, name); } BLI_assert_unreachable(); @@ -444,7 +449,8 @@ void WM_drag_free_imported_drag_ID(struct Main *bmain, wmDrag *drag, wmDropBox * return; } - ID *id = BKE_libblock_find_name(bmain, asset_drag->id_type, name); + ID_Type idtype = ED_asset_handle_get_id_type(asset_drag->asset_handle); + ID *id = BKE_libblock_find_name(bmain, idtype, name); if (id) { BKE_id_delete(bmain, id); } @@ -478,7 +484,7 @@ static const char *wm_drag_name(wmDrag *drag) } case WM_DRAG_ASSET: { const wmDragAsset *asset_drag = WM_drag_get_asset_data(drag, 0); - return asset_drag->name; + return ED_asset_handle_get_name(asset_drag->asset_handle); } case WM_DRAG_PATH: case WM_DRAG_NAME: diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c index 0922aaaee53..f01e28f8822 100644 --- a/source/blender/windowmanager/intern/wm_draw.c +++ b/source/blender/windowmanager/intern/wm_draw.c @@ -457,6 +457,7 @@ static void wm_draw_region_buffer_create(ARegion *region, bool stereo, bool use_ GPUOffScreen *offscreen = GPU_offscreen_create( region->winx, region->winy, false, false, NULL); if (!offscreen) { + WM_report(RPT_ERROR, "Region could not be drawn!"); return; } diff --git a/source/blender/windowmanager/intern/wm_event_query.c b/source/blender/windowmanager/intern/wm_event_query.c index e7603a02cff..006dc220a56 100644 --- a/source/blender/windowmanager/intern/wm_event_query.c +++ b/source/blender/windowmanager/intern/wm_event_query.c @@ -85,10 +85,10 @@ void WM_event_print(const wmEvent *event) event_ids_from_type_and_value(event->prevtype, event->prevval, &prev_type_id, &prev_val_id); printf( - "wmEvent type:%d / %s, val:%d / %s,\n" - " prev_type:%d / %s, prev_val:%d / %s,\n" - " shift:%d, ctrl:%d, alt:%d, oskey:%d, keymodifier:%d, is_repeat:%d,\n" - " mouse:(%d,%d), ascii:'%c', utf8:'%.*s', pointer:%p\n", + "wmEvent type:%d / %s, val:%d / %s,\n" + " prev_type:%d / %s, prev_val:%d / %s,\n" + " shift:%d, ctrl:%d, alt:%d, oskey:%d, keymodifier:%d, is_repeat:%d,\n" + " mouse:(%d,%d), ascii:'%c', utf8:'%.*s', pointer:%p\n", event->type, type_id, event->val, diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 3633d3c07d3..06aaf95f232 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -987,7 +987,7 @@ const char *WM_init_state_app_template_get(void) * or called for 'New File' both startup.blend and userpref.blend are checked. * * \param use_factory_settings: - * Ignore on-disk startup file, use bundled ``datatoc_startup_blend`` instead. + * Ignore on-disk startup file, use bundled `datatoc_startup_blend` instead. * Used for "Restore Factory Settings". * * \param use_userdef: Load factory settings as well as startup file. diff --git a/source/blender/windowmanager/intern/wm_gesture_ops.c b/source/blender/windowmanager/intern/wm_gesture_ops.c index 9da901d6c4e..92ca0b87527 100644 --- a/source/blender/windowmanager/intern/wm_gesture_ops.c +++ b/source/blender/windowmanager/intern/wm_gesture_ops.c @@ -23,8 +23,8 @@ * Default operator callbacks for use with gestures (border/circle/lasso/straightline). * Operators themselves are defined elsewhere. * - * - Keymaps are in ``wm_operators.c``. - * - Property definitions are in ``wm_operator_props.c``. + * - Keymaps are in `wm_operators.c`. + * - Property definitions are in `wm_operator_props.c`. */ #include "MEM_guardedalloc.h" diff --git a/source/blender/windowmanager/intern/wm_keymap_utils.c b/source/blender/windowmanager/intern/wm_keymap_utils.c index b0b4f0f5904..795f78e215f 100644 --- a/source/blender/windowmanager/intern/wm_keymap_utils.c +++ b/source/blender/windowmanager/intern/wm_keymap_utils.c @@ -207,7 +207,7 @@ wmKeyMap *WM_keymap_guess_from_context(const bContext *C) /* Needs to be kept up to date with Keymap and Operator naming */ wmKeyMap *WM_keymap_guess_opname(const bContext *C, const char *opname) { - /* Op types purposely skipped for now: + /* Op types purposely skipped for now: * BRUSH_OT * BOID_OT * BUTTONS_OT diff --git a/source/blender/windowmanager/intern/wm_operator_type.c b/source/blender/windowmanager/intern/wm_operator_type.c index e17d5a9ae70..39435721d1a 100644 --- a/source/blender/windowmanager/intern/wm_operator_type.c +++ b/source/blender/windowmanager/intern/wm_operator_type.c @@ -498,12 +498,11 @@ wmOperatorType *WM_operatortype_append_macro(const char *idname, ot->cancel = wm_macro_cancel; ot->poll = NULL; - if (!ot->description) { - /* XXX All ops should have a description but for now allow them not to. */ - ot->description = UNDOCUMENTED_OPERATOR_TIP; - } + /* XXX All ops should have a description but for now allow them not to. */ + BLI_assert((ot->description == NULL) || (ot->description[0])); - RNA_def_struct_ui_text(ot->srna, ot->name, ot->description); + RNA_def_struct_ui_text( + ot->srna, ot->name, ot->description ? ot->description : UNDOCUMENTED_OPERATOR_TIP); RNA_def_struct_identifier(&BLENDER_RNA, ot->srna, ot->idname); /* Use i18n context from rna_ext.srna if possible (py operators). */ i18n_context = ot->rna_ext.srna ? RNA_struct_translation_context(ot->rna_ext.srna) : @@ -530,16 +529,16 @@ void WM_operatortype_append_macro_ptr(void (*opfunc)(wmOperatorType *, void *), ot->cancel = wm_macro_cancel; ot->poll = NULL; - if (!ot->description) { - ot->description = UNDOCUMENTED_OPERATOR_TIP; - } + /* XXX All ops should have a description but for now allow them not to. */ + BLI_assert((ot->description == NULL) || (ot->description[0])); /* Set the default i18n context now, so that opfunc can redefine it if needed! */ RNA_def_struct_translation_context(ot->srna, BLT_I18NCONTEXT_OPERATOR_DEFAULT); ot->translation_context = BLT_I18NCONTEXT_OPERATOR_DEFAULT; opfunc(ot, userdata); - RNA_def_struct_ui_text(ot->srna, ot->name, ot->description); + RNA_def_struct_ui_text( + ot->srna, ot->name, ot->description ? ot->description : UNDOCUMENTED_OPERATOR_TIP); RNA_def_struct_identifier(&BLENDER_RNA, ot->srna, ot->idname); BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot); |