From c17d42c7e7e7f38ac426ee924e1ee97ca87a0099 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Thu, 7 Dec 2023 19:29:31 +0100 Subject: [PATCH] Fix compiler warnings, backported from 1.4 (master) Also update CHANGES file. The compiler warnings were issued by MinGW with gcc 9.2.0. Note: There are lots of compiler warnings left when building with Visual Studio and/or NMake but these will not be fixed in 1.3.9. All warnings have been fixed in 1.4.0 (current git 'master'). --- CHANGES | 10 +++++++++- src/Fl_Native_File_Chooser_WIN32.cxx | 13 ++++++------- src/forms_timer.cxx | 4 ++-- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/CHANGES b/CHANGES index c6ac09883..4aa76d42c 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,8 @@ Highlights in this release: - Update bundled libraries to current versions. - Introduce bundled image library "prefixing" to avoid conflicts with system libraries. + - New CMake option FLTK_MSVC_RUNTIME_DLL selects Visual Studio + Runtime (DLL or static) if built with CMake 3.15 or later Details: @@ -28,6 +30,7 @@ Details: Fix several compiler warnings Update bundled image libraries and zlib to current versions Update README, README.CMake.txt, and some support files + Fix compiler warnings: backported from 1.4 (git 'master') ManoloFLTK: macOS platform: Issue #325 "Disabling IM disables Greek and Cyrillic layouts" @@ -35,11 +38,16 @@ Details: Fix issue #373 apparent with macOS platform and SDK ≤ 10.13 Issue #452: Fl::get_font_name failure on OS-X. Issue #454: crash in Fl::get_font_name(). - Issue #469: Fl_Sys_Menu_Bar menu item shortcuts using Escape or Tab don't work on Mac + Issue #469: Fl_Sys_Menu_Bar menu item shortcuts using Esc or Tab don't work on Mac Fix "Focus is lost leaving full screen on macOS 13" (#608) Add support of macOS Ventura 13.0 and macOS Sonoma 14.0 macOS: remove configure option --enable-x11 and CMake OPTION_APPLE_X11; this functionality remains in FLTK 1.4. + configure.ac: make sure local-png and local-zlib always run together + Remove the -mwindows argument from CFLAGS and CXXFLAGS + +Matthias Melcher: + Issue #188: Fix reference counts and search for Fl_Shared_Image original YX: Fix IME problem (issue #270) diff --git a/src/Fl_Native_File_Chooser_WIN32.cxx b/src/Fl_Native_File_Chooser_WIN32.cxx index acfc02c00..9e55c2905 100644 --- a/src/Fl_Native_File_Chooser_WIN32.cxx +++ b/src/Fl_Native_File_Chooser_WIN32.cxx @@ -120,12 +120,11 @@ static void dnullcat(char*&wp, const char *string, int n = -1 ) { } } - if ( n == -1 ) n = (int) strlen(string); - strncpy(wp2, string, n); + memcpy(wp2, string, inlen); // use memcpy to avoid compiler warning // Leave string double-null terminated - *(wp2+n+0) = '\0'; - *(wp2+n+1) = '\0'; + *(wp2+inlen+0) = '\0'; + *(wp2+inlen+1) = '\0'; //DEBUG printf("DEBUG: dnullcat OUT: <"); dnullprint(wp); printf(">\n\n"); } @@ -691,12 +690,12 @@ void Fl_Native_File_Chooser::add_filter(const char *name_in, // name of filter ( // No name? Make one.. char name[1024]; if ( !name_in || name_in[0] == '\0' ) { - sprintf(name, "%.*s Files", int(sizeof(name)-10), winfilter); + snprintf(name, sizeof(name), "%.*s Files", int(sizeof(name)-10), winfilter); } else { if ((strlen(name_in)+strlen(winfilter)+3) < sizeof(name)) { - sprintf(name, "%s (%s)", name_in, winfilter); + snprintf(name, sizeof(name), "%s (%s)", name_in, winfilter); } else { - sprintf(name, "%.*s", int(sizeof(name)), name_in); + snprintf(name, sizeof(name), "%.*s", int(sizeof(name))-1, name_in); } } dnullcat(_parsedfilt, name); diff --git a/src/forms_timer.cxx b/src/forms_timer.cxx index 39da25403..5c463e8ba 100644 --- a/src/forms_timer.cxx +++ b/src/forms_timer.cxx @@ -47,8 +47,8 @@ void fl_gettime(long* sec, long* usec) { *sec = now->tm_sec + 60*now->tm_min + 3600*now->tm_hour + 24*3600*now->tm_yday; *usec = 0; # else - struct timeb tp; - ftime(&tp); + struct _timeb tp; + _ftime(&tp); *sec = (long) tp.time; *usec = tp.millitm * 1000; # endif