[Bf-blender-cvs] [1a4f8ab3893] master: Cleanup: Make message-bus utility macros callable from C++
Julian Eisel
noreply at git.blender.org
Thu Jan 13 17:02:00 CET 2022
Commit: 1a4f8ab38934891e76a56a5c31be02b934f68162
Author: Julian Eisel
Date: Thu Jan 13 14:52:31 2022 +0100
Branches: master
https://developer.blender.org/rB1a4f8ab38934891e76a56a5c31be02b934f68162
Cleanup: Make message-bus utility macros callable from C++
C++ doesn't support compound literals like used here (GCC does via an
extension).
===================================================================
M source/blender/windowmanager/message_bus/wm_message_bus.h
===================================================================
diff --git a/source/blender/windowmanager/message_bus/wm_message_bus.h b/source/blender/windowmanager/message_bus/wm_message_bus.h
index 7ee2e5b6ee6..e9f99979e93 100644
--- a/source/blender/windowmanager/message_bus/wm_message_bus.h
+++ b/source/blender/windowmanager/message_bus/wm_message_bus.h
@@ -270,16 +270,11 @@ void WM_msg_publish_ID(struct wmMsgBus *mbus, struct ID *id);
/* Anonymous variants (for convenience) */
#define WM_msg_subscribe_rna_anon_type(mbus, type_, value) \
{ \
- WM_msg_subscribe_rna_params(mbus, \
- &(const wmMsgParams_RNA){ \
- .ptr = \
- (PointerRNA){ \
- .type = &RNA_##type_, \
- }, \
- .prop = NULL, \
- }, \
- value, \
- __func__); \
+ PointerRNA msg_ptr_ = {0, &RNA_##type_}; \
+ wmMsgParams_RNA msg_key_params_ = {{0}}; \
+ msg_key_params_.ptr = msg_ptr_; \
+\
+ WM_msg_subscribe_rna_params(mbus, &msg_key_params_, value, __func__); \
} \
((void)0)
#define WM_msg_subscribe_rna_anon_prop(mbus, type_, prop_, value) \
@@ -287,16 +282,13 @@ void WM_msg_publish_ID(struct wmMsgBus *mbus, struct ID *id);
_WM_MESSAGE_EXTERN_BEGIN; \
extern PropertyRNA rna_##type_##_##prop_; \
_WM_MESSAGE_EXTERN_END; \
- WM_msg_subscribe_rna_params(mbus, \
- &(const wmMsgParams_RNA){ \
- .ptr = \
- (PointerRNA){ \
- .type = &RNA_##type_, \
- }, \
- .prop = &rna_##type_##_##prop_, \
- }, \
- value, \
- __func__); \
+\
+ PointerRNA msg_ptr_ = {0, &RNA_##type_}; \
+ wmMsgParams_RNA msg_key_params_ = {{0}}; \
+ msg_key_params_.ptr = msg_ptr_; \
+ msg_key_params_.prop = &rna_##type_##_##prop_; \
+\
+ WM_msg_subscribe_rna_params(mbus, &msg_key_params_, value, __func__); \
} \
((void)0)
More information about the Bf-blender-cvs
mailing list