From 50f3b99106f9a4fd3524323f063343c350652e92 Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Fri, 9 Nov 2018 10:59:49 +0100 Subject: [PATCH] store unicode filename for brush --- src/buttons.c | 6 ++++-- src/global.h | 2 ++ src/main.c | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/buttons.c b/src/buttons.c index 0fad7247..62794596 100644 --- a/src/buttons.c +++ b/src/buttons.c @@ -3166,7 +3166,7 @@ void Load_picture(enum CONTEXT_TYPE type) break; case CONTEXT_BRUSH: strcpy(filename, Brush_filename); - filename_unicode[0] = 0; + Unicode_strlcpy(filename_unicode, Brush_filename_unicode, MAX_PATH_CHARACTERS); strcpy(directory, Brush_file_directory); Init_context_brush(&context, filename, directory); selector = &Brush_selector; @@ -3215,6 +3215,7 @@ void Load_picture(enum CONTEXT_TYPE type) if (type==CONTEXT_BRUSH) { strcpy(Brush_filename, context.File_name); + Unicode_strlcpy(Brush_filename_unicode, context.File_name_unicode, MAX_PATH_CHARACTERS); strcpy(Brush_file_directory, context.File_directory); Brush_fileformat = context.Format; @@ -3479,8 +3480,8 @@ void Save_picture(enum CONTEXT_TYPE type) else if (type == CONTEXT_BRUSH) { strcpy(filename, Brush_filename); + Unicode_strlcpy(filename_unicode, Brush_filename_unicode, MAX_PATH_CHARACTERS); strcpy(directory, Brush_file_directory); - filename_unicode[0] = 0; Init_context_brush(&save_context, filename, directory); save_context.Format = Brush_fileformat; selector = &Brush_selector; @@ -3551,6 +3552,7 @@ void Save_picture(enum CONTEXT_TYPE type) { Brush_fileformat=save_context.Format; strcpy(Brush_filename, save_context.File_name); + Unicode_strlcpy(Brush_filename_unicode, save_context.File_name_unicode, MAX_PATH_CHARACTERS); strcpy(Brush_file_directory, save_context.File_directory); } Hide_cursor(); diff --git a/src/global.h b/src/global.h index c993c950..8d3e8794 100644 --- a/src/global.h +++ b/src/global.h @@ -338,6 +338,8 @@ GFX2_GLOBAL word Brush_height; GFX2_GLOBAL char Brush_file_directory[MAX_PATH_CHARACTERS]; /// Filename (without directory) of the brush (after loading or saving it). GFX2_GLOBAL char Brush_filename[MAX_PATH_CHARACTERS]; +/// Filename (without directory) of the brush (after loading or saving it) unicode. +GFX2_GLOBAL word Brush_filename_unicode[MAX_PATH_CHARACTERS]; /// File format of the brush. It's a value of enum ::FILE_FORMATS GFX2_GLOBAL byte Brush_fileformat; /// Fileselector settings diff --git a/src/main.c b/src/main.c index b805c857..0f0e440d 100644 --- a/src/main.c +++ b/src/main.c @@ -727,6 +727,7 @@ int Init_program(int argc,char * argv[]) strcpy(Brush_selector.Directory,Main.selector.Directory); strcpy(Brush_file_directory,Main.selector.Directory); strcpy(Brush_filename ,"NO_NAME.GIF"); + Brush_filename_unicode[0] = 0; Brush_fileformat =DEFAULT_FILEFORMAT; strcpy(Palette_selector.Directory,Main.selector.Directory);