diff options
author | Karsten Wiese <annabellesgarden@yahoo.de> | 2006-12-13 00:34:08 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-13 09:05:48 -0800 |
commit | 3b354c557c7a6fcac099b3a20b308853fe596183 (patch) | |
tree | 4489c66167db27bed76aae32b5e815666f0050b5 /scripts/kconfig/confdata.c | |
parent | bfc10001b11e51b59ac901d17c5f05361bd2351d (diff) | |
download | linux-stable-3b354c557c7a6fcac099b3a20b308853fe596183.tar.gz linux-stable-3b354c557c7a6fcac099b3a20b308853fe596183.tar.bz2 linux-stable-3b354c557c7a6fcac099b3a20b308853fe596183.zip |
[PATCH] kconfig: add "void conf_set_changed_callback(void (*fn)(void))", use it in qconf.cc
Added function sets "void (*conf_changed_callback)(void)". Call it, if
.config's changed state changes. Use above in qconf.cc to set gui's
save-widget's sensitvity.
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'scripts/kconfig/confdata.c')
-rw-r--r-- | scripts/kconfig/confdata.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 4bbbb5b09c8d..664fe29dacef 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c @@ -767,18 +767,28 @@ int conf_write_autoconf(void) } static int sym_change_count; +static void (*conf_changed_callback)(void); void sym_set_change_count(int count) { + int _sym_change_count = sym_change_count; sym_change_count = count; + if (conf_changed_callback && + (bool)_sym_change_count != (bool)count) + conf_changed_callback(); } void sym_add_change_count(int count) { - sym_change_count += count; + sym_set_change_count(count + sym_change_count); } bool conf_get_changed(void) { return sym_change_count; } + +void conf_set_changed_callback(void (*fn)(void)) +{ + conf_changed_callback = fn; +} |