[Bf-blender-cvs] [60d2570ed7f] soc-2020-info-editor: Fixes for clog rna access

Mateusz Grzeliński noreply at git.blender.org
Tue Aug 4 14:14:09 CEST 2020


Commit: 60d2570ed7f6652649ca2d7b628b74a393d6f56e
Author: Mateusz Grzeliński
Date:   Mon Aug 3 18:26:10 2020 +0200
Branches: soc-2020-info-editor
https://developer.blender.org/rB60d2570ed7f6652649ca2d7b628b74a393d6f56e

Fixes for clog rna access

- fix: incorrect log level type
- fix: move buffer of write
- add ranges for rna access

===================================================================

M	intern/clog/CLG_log.h
M	intern/clog/clog.c
M	source/blender/makesrna/intern/rna_userdef.c

===================================================================

diff --git a/intern/clog/CLG_log.h b/intern/clog/CLG_log.h
index 6698e232798..39917f2145e 100644
--- a/intern/clog/CLG_log.h
+++ b/intern/clog/CLG_log.h
@@ -191,7 +191,7 @@ void CLG_type_filter_exclude(const char *type_filter, int type_filter_len);
 
 enum CLG_Severity CLG_severity_level_get(void);
 void CLG_severity_level_set(enum CLG_Severity log_level);
-short CLG_level_get(void);
+unsigned short CLG_level_get(void);
 void CLG_level_set(unsigned short log_level);
 struct LogRecordList *CLG_log_record_get(void);
 
diff --git a/intern/clog/clog.c b/intern/clog/clog.c
index 591b6564162..7e92024adcb 100644
--- a/intern/clog/clog.c
+++ b/intern/clog/clog.c
@@ -97,8 +97,8 @@ typedef struct CLogContext {
 
   /** For new types. */
   struct {
-    short level;
-    short severity_level;
+    unsigned short level;
+    unsigned short severity_level;
   } default_type;
 
   struct {
@@ -798,7 +798,7 @@ static void CLG_ctx_severity_level_set(CLogContext *ctx, enum CLG_Severity level
   }
 }
 
-static short CLG_ctx_level_get(CLogContext *ctx)
+static unsigned short CLG_ctx_level_get(CLogContext *ctx)
 {
   return ctx->default_type.level;
 }
@@ -953,24 +953,24 @@ int CLG_type_filter_get(char *buff, int buff_len)
   CLG_IDFilter *filters_iter = g_ctx->filters[0]; /* exclude filters */
   while (filters_iter) {
     if (filters_iter->next == NULL) {
-      written += sprintf(buff, "^%s", filters_iter->match);
+      written += sprintf(buff + written, "^%s", filters_iter->match);
     }
     else {
-      written += sprintf(buff, "^%s,", filters_iter->match);
+      written += sprintf(buff + written, "^%s,", filters_iter->match);
     }
     filters_iter = filters_iter->next;
   }
 
   filters_iter = g_ctx->filters[1]; /* include filters */
   if (written != 0 && buff[written - 1] != ',') {
-    written += sprintf(buff, ",");
+    written += sprintf(buff + written, ",");
   }
   while (filters_iter) {
     if (filters_iter->next == NULL) {
-      written += sprintf(buff, "%s", filters_iter->match);
+      written += sprintf(buff + written, "%s", filters_iter->match);
     }
     else {
-      written += sprintf(buff, "%s,", filters_iter->match);
+      written += sprintf(buff + written, "%s,", filters_iter->match);
     }
     filters_iter = filters_iter->next;
   }
@@ -1003,7 +1003,7 @@ void CLG_level_set(unsigned short level)
   CLG_ctx_level_set(g_ctx, level);
 }
 
-short CLG_level_get()
+unsigned short CLG_level_get()
 {
   return CLG_ctx_level_get(g_ctx);
 }
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index c7d7a257382..44b9af9b6e5 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -1097,6 +1097,13 @@ static void rna_clog_log_level_set(PointerRNA *UNUSED(ptr), int value)
   CLG_level_set(value);
 }
 
+static void rna_clog_log_level_range(
+    PointerRNA *UNUSED(ptr), int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
+{
+  *min = 0;
+  *max = USHRT_MAX;
+}
+
 /*
 static void rna_Userdef_log_filter_update(struct Main *UNUSED(main),
                                           struct Scene *UNUSED(scene),
@@ -1178,6 +1185,15 @@ static void rna_verbose_set(PointerRNA *UNUSED(ptr), int value)
 #  endif
 }
 
+static void rna_verbose_range(
+    PointerRNA *UNUSED(ptr), int *min, int *max, int *softmin, int *softmax)
+{
+  *min = INT_MIN;
+  *max = INT_MAX;
+  *softmin = 0;
+  *softmax = INT_MAX;
+}
+
 static void rna_clog_log_output_file_get(PointerRNA *UNUSED(ptr), char *value)
 {
   BLI_strncpy(value, CLG_file_output_path_get(), FILE_MAX);
@@ -1212,6 +1228,15 @@ static void rna_debug_value_set(PointerRNA *UNUSED(ptr), int value)
 {
   G.debug_value = value;
 }
+
+static void rna_debug_value_range(
+    PointerRNA *UNUSED(ptr), int *min, int *max, int *softmin, int *softmax)
+{
+  *min = SHRT_MIN;
+  *max = SHRT_MAX;
+  *softmin = SHRT_MIN;
+  *softmax = SHRT_MAX;
+}
 #else
 
 #  define USERDEF_TAG_DIRTY_PROPERTY_UPDATE_ENABLE \
@@ -5769,9 +5794,11 @@ static void rna_def_userdef_system(BlenderRNA *brna)
 
   prop = RNA_def_property(srna, "log_level", PROP_INT, PROP_NONE);
   RNA_def_property_int_funcs(
-      prop, "rna_clog_log_level_get", "rna_clog_log_level_set", NULL);
-  RNA_def_property_ui_text(
-      prop, "Log Level", "Log level, when severity is set to verbose or debug");
+      prop, "rna_clog_log_level_get", "rna_clog_log_level_set", "rna_clog_log_level_range");
+  RNA_def_property_ui_text(prop,
+                           "Log Level",
+                           "Log level, when severity is set to verbose or debug. "
+                           "The most silent is 0, the most talkative is 65535");
 
   prop = RNA_def_property(srna, "log_filter", PROP_STRING, PROP_NONE);
   RNA_def_property_string_sdna(prop, NULL, "log_filter");
@@ -5803,7 +5830,7 @@ static void rna_def_userdef_system(BlenderRNA *brna)
   RNA_def_property_ui_text(prop, "Log Output File", "");
 
   prop = RNA_def_property(srna, "verbose", PROP_INT, PROP_NONE);
-  RNA_def_property_int_funcs(prop, "rna_verbose_get", "rna_verbose_set", NULL);
+  RNA_def_property_int_funcs(prop, "rna_verbose_get", "rna_verbose_set", "rna_verbose_range");
   RNA_def_property_ui_text(prop, "Verbosity Level", "Verbosity for libraries that support it");
 
   /* TODO (grzelins) now we can start removing bpy.app.debug */
@@ -5858,7 +5885,7 @@ static void rna_def_userdef_system(BlenderRNA *brna)
 
   /* TODO (grzelins) now we can remove WM_OT_debug_menu */
   prop = RNA_def_property(srna, "debug_value", PROP_INT, PROP_NONE);
-  RNA_def_property_int_funcs(prop, "rna_debug_value_get", "rna_debug_value_set", NULL);
+  RNA_def_property_int_funcs(prop, "rna_debug_value_get", "rna_debug_value_set", "rna_debug_value_range");
   RNA_def_property_ui_text(prop, "Debug Value", "Only developers know what is does");
 }



More information about the Bf-blender-cvs mailing list