From: "Lubomir I. Ivanov" <neolit...@gmail.com> This prevents a warning caused by -Waddress, that the address of 'displayed_dive' will always be defined.
We don't really want to disable this warning group as it's *actually* useful in terms of partability. A previous, less intrusive solution was also proposed which simply declared a local 'struct dive' inside ::updateDivePictures() but it was not accepted. Signed-off-by: Lubomir I. Ivanov <neolit...@gmail.com> --- the warning has been creeping around for 5 mounths or so, but is overall harmless. i don't like this change because it creates a useless interface macro. the other solution was cleaner: struct dive *displayed_dive_tmp = &displayed_dive; ... FOR_EACH_PICTURE_UNSAFE(displayed_dive_tmp) { comments? on the other hand global vars shouldn't be used in such a manner. allocating a context struct on the heap and storing everything supposedly global in there is one way to do it properly. --- dive.h | 2 ++ qt-ui/divepicturewidget.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dive.h b/dive.h index ef5ff0f..f18a3bf 100644 --- a/dive.h +++ b/dive.h @@ -349,6 +349,8 @@ struct picture { if (_dive) \ for (struct picture *picture = (_dive)->picture_list; picture; picture = picture->next) +#define FOR_EACH_PICTURE_UNSAFE(_dive) \ + for (struct picture *picture = (_dive)->picture_list; picture; picture = picture->next) extern struct picture *alloc_picture(); extern void dive_create_picture(struct dive *d, char *filename, int shift_time); diff --git a/qt-ui/divepicturewidget.cpp b/qt-ui/divepicturewidget.cpp index 34f69e0..c0db49b 100644 --- a/qt-ui/divepicturewidget.cpp +++ b/qt-ui/divepicturewidget.cpp @@ -51,7 +51,7 @@ void DivePictureModel::updateDivePictures() stringPixmapCache.clear(); QStringList pictures; - FOR_EACH_PICTURE (&displayed_dive) { + FOR_EACH_PICTURE_UNSAFE(&displayed_dive) { stringPixmapCache[QString(picture->filename)].offsetSeconds = picture->offset.seconds; pictures.push_back(QString(picture->filename)); } -- 1.7.11.msysgit.0 _______________________________________________ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface