lv2 / pugl

A minimal portable API for embeddable GUIs
https://gitlab.com/lv2/pugl/
ISC License
174 stars 34 forks source link

x11.c: Fix missing field initializers in C++ mode #87

Closed falkTX closed 2 years ago

falkTX commented 2 years ago

Fixes a warning when building in C++ mode. We simply use the macro that was defined in that same file for this.

src/pugl-upstream/src/x11.c: In function ‘DGL::PuglStatus DGL::puglGrabFocus(DGL::PuglView*)’:
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::y’ [-Wmissing-field-initializers]
  954 |   XWindowAttributes    attrs   = {0};
      |                                    ^
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::width’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::height’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::border_width’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::depth’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::visual’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::root’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::c_class’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::bit_gravity’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::win_gravity’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::backing_store’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::backing_planes’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::backing_pixel’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::save_under’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::colormap’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::map_installed’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::map_state’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::all_event_masks’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::your_event_mask’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::do_not_propagate_mask’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::override_redirect’ [-Wmissing-field-initializers]
src/pugl-upstream/src/x11.c:954:36: warning: missing initializer for member ‘XWindowAttributes::screen’ [-Wmissing-field-initializers]
drobilla commented 2 years ago

C really needs to add {} initialization already.

Merged as 9de33a73, thanks.

drobilla commented 2 years ago

Huzzah https://en.cppreference.com/w/c/language/initialization

falkTX commented 2 years ago

C23 is going to be a thing huh, cant wait to start using it in 8 years

drobilla commented 2 years ago

Yeeeeah. On the bright side, the wait won't be so bad this time for a lot of the stuff in there, because it's already in C++. In particular, this means &*$# MSVC will actually be on board.

The library facilities, though, I've mostly just given up on at this point...