Bumping to 0.9.24; going to add a new feature momentarily.
Improved usage output (e.g., that of "tuxpaint --help"); broke
the options into groups that match the tabs in Tux Paint Config.,
added some missing options.
Ability to bring up the print dialog from the macOS build was removed in
Tux Paint 0.9.23 to support the new build mechanism. It has been re-added.
To access it, option-click the print icon, or configure Tux Paint to always
bring up the dialog upon print.
Documenting Mark Kim's recent changes:
* Less CPU-hungry progress bar (during Stamp loading)
* Verbose debugging options
* (Also, mentioned debugging _at all_, in INSTALL.txt)
Bumping version to 0.9.23a, to match the test build he's working
on for macOS.
Added function name to the output of verbose logging. Verbose logging is
the feature introduced in the previous git commit where a call to printf()
automatically adds the source filename and line from where the printf() is
called, and the runtime timestamp at which the call was made. Now this
feature adds the functio name from which the printf() is called. This
feature is enabled if and only if both DEBUG and VERBOSE are defined in
debug.h and the source is compiled with GCC.
Added a new macro DEBUG_PRINTF() that expands to printf() if and only if
DEBUG is defined in debug.h. This feature works with verbose logging if
VERBOSE is also defined and the source is compiled with GCC.
Reduced the launch time. A user reported an issue with Tux Paint taking 7
minutes to launch; an investigation showed that launching Tux Paint with
all stamps and the screen width set wide (~1500 pixels) can cause the
slowdown during the progress bar drawing sequence because progress bar
takes a long time to draw on screens with a wide screen, and it is called
~10 thousand times during the stamp loading process. The issue has been
addressed by calling the progress bar less frequently.
Updated the macOS build version and date, under which these features were
tested.
Verbose logging adds metadata about when it is called and from where to every
printf call. Enable it by uncommenting both DEBUG and VERBOSE defined constants
in debug.h.
Previously Tux Paint was raising an error informing the user it could not
print even when it did print successfully. This appears to be due to our
lpr printing routine's assumption that errno is reset on success whereas
the C library in macOS does not appear to do so. To address this issue,
errno is reset before calling pclose() (on macOS and macOS only - just in
case this code has an unintended side-effect on other platforms). This
code change assumes we're only interested in errno set by pclose(), and
that our lpr printing routine is not interested in errno raised prior to
pclose().
Running Tux Paint under macOS in Korean mode (and some other languages) causes
it to crash, unless "load system fonts" option is also enabled. Some
investigation showed the issue occurs when num_font_families is 0 in fonts.c.
This change removes the assumption from the code that assumes num_font_families
has at least one record.
Beginning to document functions in src/tuxpaint.c, Docbook style
(description, @param's, @return). Also removed a few dead bits
of code.
Eventually, hoping to break this beastly file into pieces.
(Maybe for Tux Paint 0.9.24?)