Commit Graph

2 Commits

Author SHA1 Message Date
Schaich
7e3d0f2405 Fix compilation with Qt <= 5.12
The `__has_feature` macro is a clang extension that works like a macro. If
zint is being compiled using a compiler other then clang, `__has_feature`
is not defined. As it is not defined, it cannot be used as a function call
expression. Any environment that doesn't have `__has_feature` should prevent
the preprocessor from "seeing" the invokation of the macro, as invoking
undefined macros is not supported by the C language.

The usual procedure to assure this would be a construction like
  \#if defined(__has_feature)
  \#  if __has_feature(...)
  \#  endif
  \#endif

which, combined with the GCC check we have here, would result in a
3 level nesting of if and elseif expressions .. and that's without
covering microsoft's compiler.

For this purpose, Qt >= 5.13 has been defining the `__has_feature`
macro on non-clang environments, while defining all (clang) features
to not be available. This allows to write feature checks with "less"
nesting, as we have here.

Mimic Qt-5.13's behavior and provide the `__has_feature` macro if
it's not provided otherwise (either by clang or by Qt), allowing the
function-call-like expression to be parsed on those systems.
2021-11-11 15:51:34 +09:00
gitlost
72eac41c34 Add compliant height, using ZINT_COMPLIANT_HEIGHT flag for back-compatibility
Rename barcode funcs to same as BARCODE_XXX name
library: barcode funcs array for dispatch, used for ZBarcode_ValidID() also
general: change is_sane() comparison to nonzero from ZINT_ERROR_INVALID_OPTION
MAILMARK: fuller error messages
CODABAR: add option to show check character in HRT
zint.h: use 0xNNNN for OR-able defines
GUI: add guard descent height reset button, add Zint version to window title,
  static get_zint_version() method, use QStringLiteral (QSL shorthand),
  use SIGNAL(toggled()), add errtxt "popup" and status bar, add icons,
  add saveAs shortcut, add main menu, context menus and actions, add help,
  reset_view() -> reset_colours(), add copy to clipboard as EMF/GIF/PNG/TIF,
  lessen triggering of update_preview(), shorten names of getters/setters,
  simplify/shorten some update_preview() logic in switch,
  CODEONE disable structapp for Version S
qzint.cpp: add on_errored signal, add missing getters, add test
2021-10-09 00:13:39 +01:00