Fix fluid output for international languages

The fluid version and other values in .fl files are written as float
values which means that locale settings apply since we enabled the
locale with "setlocale()".

Update the "rebuild" target in fluid and src folders to update
the fluid (.fl) files and related {.cxx|.h} files.
This commit is contained in:
Albrecht Schlosser 2020-09-16 12:14:22 +02:00
parent e2a249fca9
commit c9bee9ba80
3 changed files with 26 additions and 14 deletions

View File

@ -1,7 +1,7 @@
# #
# FLUID makefile for the Fast Light Tool Kit (FLTK). # FLUID Makefile for the Fast Light Tool Kit (FLTK).
# #
# Copyright 1998-2017 by Bill Spitzak and others. # Copyright 1998-2020 by Bill Spitzak and others.
# #
# This library is free software. Distribution and use rights are outlined in # This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file. If this # the file "COPYING" which should have been included with this file. If this
@ -120,16 +120,16 @@ uninstall-linux:
uninstall-osx: uninstall-osx:
$(RM) -r $(DESTDIR)/Applications/fluid.app $(RM) -r $(DESTDIR)/Applications/fluid.app
#
# Note: The rebuild target can only be used if you have the original .fl # Note: The rebuild target can only be used if you have the original .fl
# files. This is normally only used by the FLTK maintainers... # files. This is normally only used by the FLTK maintainers...
# # It *must* be executed *after* fluid has been built and
# fluid must be rebuilt if any {.fl|.cxx|.h} files were changed.
rebuild: rebuild: fluid$(EXEEXT)
./fluid -u -c about_panel.fl echo 'Rebuilding fluid (.fl) and .cxx/.h files from .fl files ...'
./fluid -u -c alignment_panel.fl ./fluid$(EXEEXT) -u -c about_panel.fl
./fluid -u -c function_panel.fl ./fluid$(EXEEXT) -u -c alignment_panel.fl
./fluid -u -c print_panel.fl ./fluid$(EXEEXT) -u -c function_panel.fl
./fluid -u -c template_panel.fl ./fluid$(EXEEXT) -u -c print_panel.fl
./fluid -u -c widget_panel.fl ./fluid$(EXEEXT) -u -c template_panel.fl
./fluid$(EXEEXT) -u -c widget_panel.fl

View File

@ -1750,7 +1750,9 @@ static void sigint(SIGARG) {
int main(int argc,char **argv) { int main(int argc,char **argv) {
int i = 1; int i = 1;
setlocale(LC_ALL, ""); // enable multilanguage errors in file chooser setlocale(LC_ALL, ""); // enable multilanguage errors in file chooser
setlocale(LC_NUMERIC, "C"); // make sure numeric values are written correctly
if (!Fl::args(argc,argv,i,arg) || i < argc-1) { if (!Fl::args(argc,argv,i,arg) || i < argc-1) {
static const char *msg = static const char *msg =
"usage: %s <switches> name.fl\n" "usage: %s <switches> name.fl\n"

View File

@ -582,6 +582,16 @@ mgwfltknox_images-$(FL_DSO_VERSION).dll: $(IMGLIBNAME) mgwfltknox-$(FL_DSO_VERSI
-L. -lfltk -Wl,--exclude-libs -Wl,libfltk_png.a \ -L. -lfltk -Wl,--exclude-libs -Wl,libfltk_png.a \
$(IMAGELIBS) $(LDLIBS) $(IMAGELIBS) $(LDLIBS)
# Note: The rebuild target can only be used if you have the original .fl
# files. This is normally only used by the FLTK maintainers...
# It *must* be executed *after* fluid has been built and
# the libs must be rebuilt if any {.fl|.cxx|.h} files were changed.
rebuild:
echo 'Rebuilding fluid (.fl) and .cxx/.h files from .fl files ...'
../fluid/fluid$(EXEEXT) -u -c Fl_File_Chooser.fl
../fluid/fluid$(EXEEXT) -u -c Fl_Help_Dialog.fl
clean: clean:
-$(RM) *.o xutf8/*.o *.dll.a core.* *~ *.bak *.bck -$(RM) *.o xutf8/*.o *.dll.a core.* *~ *.bak *.bck
-$(RM) drivers/Cocoa/*.o -$(RM) drivers/Cocoa/*.o