X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecode%2Fdecoder.cpp;h=6ce60da8559c96e1e81e7b4e974ba4a6d42874a5;hp=c6995bcf703a56cb13b4ba347acb2c61aa11d17e;hb=c5f473341f9198532c44525104d04792c1bd6459;hpb=9fa8a63c91ab09db32d744f854690411af164a62 diff --git a/pv/data/decode/decoder.cpp b/pv/data/decode/decoder.cpp index c6995bc..6ce60da 100644 --- a/pv/data/decode/decoder.cpp +++ b/pv/data/decode/decoder.cpp @@ -91,8 +91,12 @@ void Decoder::set_option(const char *id, GVariant *value) GHashTable *const opt_hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_variant_unref); - g_variant_ref(value); - g_hash_table_insert(opt_hash, (void*)g_strdup(id), value); + for (const auto& option : options_) { + GVariant *const value = option.second; + g_variant_ref(value); + g_hash_table_replace(opt_hash, (void*)g_strdup( + option.first.c_str()), value); + } srd_inst_option_set(decoder_inst_, opt_hash); g_hash_table_destroy(opt_hash);