diff --git a/src/include/flmisc.h b/src/include/flmisc.h index 067e3021..7188c9f4 100644 --- a/src/include/flmisc.h +++ b/src/include/flmisc.h @@ -72,7 +72,13 @@ private: #include #include +// Avoid 'nitems' macro collision between FreeBSD's sys/params.h and fltk's +// FL/Fl_Check_Browser.H (http://www.fltk.org/str.php?L2984) +#undef nitems #include +#define FLTK_nitems nitems +#undef nitems +// ^^^ Avoid 'nitems' macro collision #include "globals.h" class Mode_Browser : public Fl_Double_Window diff --git a/src/include/logsupport.h b/src/include/logsupport.h index 6edfd175..389ebcaa 100644 --- a/src/include/logsupport.h +++ b/src/include/logsupport.h @@ -9,7 +9,14 @@ #include "qso_db.h" #include "adif_io.h" +// Avoid 'nitems' macro collision in FreeBSD's sys/params.h +// with fltk's FL/Fl_Check_Browser.H +// ->nitems() is called by functions in this file + +#undef nitems #include "lgbook.h" +#define FLTK_nitems nitems +#undef nitems #ifdef __WOE32__ # define ADIF_SUFFIX "adi" diff --git a/src/logbook/logsupport.cxx b/src/logbook/logsupport.cxx index e3068ccd..d40ac3fe 100644 --- a/src/logbook/logsupport.cxx +++ b/src/logbook/logsupport.cxx @@ -146,7 +146,7 @@ void Export_CSV() if (!p) return; - for (int i = 0; i < chkExportBrowser->nitems(); i++) { + for (int i = 0; i < chkExportBrowser->FLTK_nitems(); i++) { if (chkExportBrowser->checked(i + 1)) { rec = qsodb.getRec(i); rec->putField(EXPORT, "E"); @@ -172,7 +172,7 @@ void Export_TXT() if (!p) return; - for (int i = 0; i < chkExportBrowser->nitems(); i++) { + for (int i = 0; i < chkExportBrowser->FLTK_nitems(); i++) { if (chkExportBrowser->checked(i + 1)) { rec = qsodb.getRec(i); rec->putField(EXPORT, "E"); @@ -203,7 +203,7 @@ void Export_ADIF() if (!p) return; - for (int i = 0; i < chkExportBrowser->nitems(); i++) { + for (int i = 0; i < chkExportBrowser->FLTK_nitems(); i++) { if (chkExportBrowser->checked(i + 1)) { rec = qsodb.getRec(i); rec->putField(EXPORT, "E"); @@ -1436,7 +1436,7 @@ void WriteCabrillo() if (!p) return; - for (int i = 0; i < chkCabBrowser->nitems(); i++) { + for (int i = 0; i < chkCabBrowser->FLTK_nitems(); i++) { if (chkCabBrowser->checked(i + 1)) { rec = qsodb.getRec(i); rec->putField(EXPORT, "E");