summaryrefslogtreecommitdiffstats
path: root/src/gradient-context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gradient-context.cpp')
-rw-r--r--src/gradient-context.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/gradient-context.cpp b/src/gradient-context.cpp
index 6ca427098..50863565d 100644
--- a/src/gradient-context.cpp
+++ b/src/gradient-context.cpp
@@ -68,20 +68,26 @@ static void sp_gradient_context_class_init(SPGradientContextClass *klass)
object_class->dispose = sp_gradient_context_dispose;
- event_context_class->setup = sp_gradient_context_setup;
- event_context_class->root_handler = sp_gradient_context_root_handler;
+// event_context_class->setup = sp_gradient_context_setup;
+// event_context_class->root_handler = sp_gradient_context_root_handler;
}
CGradientContext::CGradientContext(SPGradientContext* gradientcontext) : CEventContext(gradientcontext) {
this->spgradientcontext = gradientcontext;
}
-static void sp_gradient_context_init(SPGradientContext *gr_context)
-{
+SPGradientContext::SPGradientContext() : SPEventContext() {
+ SPGradientContext* gr_context = this;
+
gr_context->cgradientcontext = new CGradientContext(gr_context);
delete gr_context->ceventcontext;
gr_context->ceventcontext = gr_context->cgradientcontext;
+ gr_context->node_added = false;
+ gr_context->subselcon = 0;
+ gr_context->_message_context = 0;
+ gr_context->selcon = 0;
+
SPEventContext *event_context = SP_EVENT_CONTEXT(gr_context);
gr_context->cursor_addnode = false;
@@ -95,6 +101,11 @@ static void sp_gradient_context_init(SPGradientContext *gr_context)
event_context->item_to_select = NULL;
}
+static void sp_gradient_context_init(SPGradientContext *gr_context)
+{
+ new (gr_context) SPGradientContext();
+}
+
static void sp_gradient_context_dispose(GObject *object)
{
SPGradientContext *rc = SP_GRADIENT_CONTEXT(object);