libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgetstypes.h
2007-02-12 Sven Neumann <sven@gimp.org> * libgimpwidgets/Makefile.am * libgimpwidgets/gimpwidgetstypes.h * libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpstringcombobox.[ch]: added GimpStringComboBox. * libgimpwidgets/gimppropwidgets.[ch]: added a prop widget constructor that uses the new widget. * libgimpwidgets/gimpwidgets.def: updated. * app/widgets/gimpcontrollereditor.c: use a GimpStringComboBox if the module specifies a tree model with string values. * modules/gimpinputdevicestore.c: minor cleanup. * modules/controller_linux_input.c: keep a pointer to the input device store and unref it in the finalizer. svn path=/trunk/; revision=21900
This commit is contained in:

committed by
Sven Neumann

parent
4f6e2969c6
commit
0a203e30c4
@ -129,11 +129,12 @@ typedef struct _ControllerLinuxInputClass ControllerLinuxInputClass;
|
||||
|
||||
struct _ControllerLinuxInput
|
||||
{
|
||||
GimpController parent_instance;
|
||||
GimpController parent_instance;
|
||||
|
||||
gchar *device;
|
||||
GIOChannel *io;
|
||||
guint io_id;
|
||||
GimpInputDeviceStore *store;
|
||||
gchar *device;
|
||||
GIOChannel *io;
|
||||
guint io_id;
|
||||
};
|
||||
|
||||
struct _ControllerLinuxInputClass
|
||||
@ -146,6 +147,7 @@ GType linux_input_get_type (GTypeModule *module);
|
||||
static void linux_input_class_init (ControllerLinuxInputClass *klass);
|
||||
static void linux_input_init (ControllerLinuxInput *controller);
|
||||
static void linux_input_dispose (GObject *object);
|
||||
static void linux_input_finalize (GObject *object);
|
||||
static void linux_input_set_property (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
@ -234,6 +236,7 @@ linux_input_class_init (ControllerLinuxInputClass *klass)
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
object_class->dispose = linux_input_dispose;
|
||||
object_class->finalize = linux_input_finalize;
|
||||
object_class->get_property = linux_input_get_property;
|
||||
object_class->set_property = linux_input_set_property;
|
||||
|
||||
@ -256,7 +259,7 @@ linux_input_class_init (ControllerLinuxInputClass *klass)
|
||||
static void
|
||||
linux_input_init (ControllerLinuxInput *controller)
|
||||
{
|
||||
gimp_input_device_store_new ();
|
||||
controller->store = gimp_input_device_store_new ();
|
||||
}
|
||||
|
||||
static void
|
||||
@ -269,6 +272,20 @@ linux_input_dispose (GObject *object)
|
||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
linux_input_finalize (GObject *object)
|
||||
{
|
||||
ControllerLinuxInput *controller = CONTROLLER_LINUX_INPUT (object);
|
||||
|
||||
if (controller->store)
|
||||
{
|
||||
g_object_unref (controller->store);
|
||||
controller->store = NULL;
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
linux_input_set_property (GObject *object,
|
||||
guint property_id,
|
||||
|
Reference in New Issue
Block a user