Knob value keeps changing after onDragEnd

void onDragStart(const DragStartEvent& e) override {
	Davies1900hBlackKnob::onDragStart(e);
	if(e.button == GLFW_MOUSE_BUTTON_LEFT){
		((Blender*)this->module)->drag = true;
	}
}

void onDragEnd(const DragEndEvent& e) override {
	Davies1900hBlackKnob::onDragEnd(e);
	if(e.button == GLFW_MOUSE_BUTTON_LEFT){
		((Blender*)this->module)->drag = false;
	}
}

then inside of process

void process(const ProcessArgs& args) override {
	DEBUG("drag:%i knob:%f",drag,params[KNOB].getValue());
}

And in the logs like this

[6.884 debug src/Blender.cpp:197 process] drag:1 knob:0.152668
[6.884 debug src/Blender.cpp:197 process] drag:1 knob:0.152764
[6.884 debug src/Blender.cpp:197 process] drag:1 knob:0.152860
[6.884 debug src/Blender.cpp:197 process] drag:1 knob:0.152955
[6.892 debug src/Blender.cpp:197 process] drag:0 knob:0.153050
[6.892 debug src/Blender.cpp:197 process] drag:0 knob:0.153145
[6.892 debug src/Blender.cpp:197 process] drag:0 knob:0.153240
[6.892 debug src/Blender.cpp:197 process] drag:0 knob:0.153334