Skip to content

Commit c9b7c65

Browse files
committed
Brightness (Linux): prefers FF_LIBRARY_LOAD_SYMBOL_LAZY
1 parent 6ad8e68 commit c9b7c65

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

src/detection/brightness/brightness_linux.c

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,26 +110,29 @@ static const char* detectWithDdcci(FF_MAYBE_UNUSED FFBrightnessOptions* options,
110110
FF_LIBRARY_LOAD_SYMBOL_MESSAGE(libddcutil, ddca_close_display)
111111

112112
#ifndef FF_DISABLE_DLOPEN
113-
__typeof__(&ddca_init) ffddca_init = dlsym(libddcutil, "ddca_init");
113+
FF_LIBRARY_LOAD_SYMBOL_LAZY(libddcutil, ddca_init)
114114
if (ffddca_init)
115-
#else
116-
__typeof__(&ddca_init) ffddca_init = ddca_init;
117-
#endif
118115
{
119116
FF_SUPPRESS_IO();
120117
// Ref: https://github.com/rockowitz/ddcutil/issues/344
121118
if (ffddca_init(NULL, -1 /*DDCA_SYSLOG_NOT_SET*/, 1 /*DDCA_INIT_OPTIONS_DISABLE_CONFIG_FILE*/) < 0)
122119
return "ddca_init() failed";
123120
}
124-
#ifndef FF_DISABLE_DLOPEN
125121
else
126122
{
127-
__typeof__(&ddca_set_default_sleep_multiplier) ffddca_set_default_sleep_multiplier = dlsym(libddcutil, "ddca_set_default_sleep_multiplier");
123+
FF_LIBRARY_LOAD_SYMBOL_LAZY(libddcutil, ddca_set_default_sleep_multiplier);
128124
if (ffddca_set_default_sleep_multiplier)
129125
ffddca_set_default_sleep_multiplier(options->ddcciSleep / 40.0);
130126

131127
libddcutil = NULL; // Don't dlclose libddcutil. See https://github.com/rockowitz/ddcutil/issues/330
132128
}
129+
#else
130+
#if DDCUTIL_VMAJOR >= 2
131+
if (ddca_init(NULL, -1 /*DDCA_SYSLOG_NOT_SET*/, 1 /*DDCA_INIT_OPTIONS_DISABLE_CONFIG_FILE*/) < 0)
132+
return "ddca_init() failed";
133+
#else
134+
ddca_set_default_sleep_multiplier(options->ddcciSleep / 40.0);
135+
#endif
133136
#endif
134137

135138
FF_AUTO_FREE DDCA_Display_Info_List* infoList = NULL;

0 commit comments

Comments
 (0)