what about something sort of like a semaphore?
mlv_rec.c:
static struct menu_entry raw_video_menu[] =
{
{
.name = "RAW video (MLV)",
.priv = &mlv_video_enabled,
.max = 1,
.update = raw_main_update,
.submenu_width = 710,
.depends_on = DEP_LIVEVIEW | DEP_MOVIE_MODE,
.help = "Record 14-bit RAW video. Press LiveView to start.",
.semaphore = "RawRecording"
...
}
raw_rec.c:
static struct menu_entry raw_video_menu[] =
{
{
.name = "RAW video",
.priv = &raw_video_enabled,
.max = 1,
.update = raw_main_update,
.submenu_width = 710,
.depends_on = DEP_LIVEVIEW | DEP_MOVIE_MODE,
.help = "Record 14-bit RAW video. Press LiveView to start.",
.semaphore = "RawRecording"
...
}
The menu backend would not allow any two menu entries with the same .semaphore to be enabled at the same time.