@@ -108,8 +108,9 @@ Canvas::Canvas(PluginEditor* parent, pd::Patch::Ptr p, Component* parentGraph)
108108
109109 setSize (infiniteCanvasSize, infiniteCanvasSize);
110110
111- // initialize per canvas zoom to 100% when first creating canvas
112- zoomScale.setValue (1 .0f );
111+ // initialize to default zoom
112+ auto defaultZoom = SettingsFile::getInstance ()->getPropertyAsValue (" default_zoom" );
113+ zoomScale.setValue (getValue<float >(defaultZoom)/100 .0f );
113114 zoomScale.addListener (this );
114115
115116 // Add lasso component
@@ -275,7 +276,9 @@ void Canvas::zoomToFitAll()
275276
276277void Canvas::lookAndFeelChanged ()
277278{
278- lasso.setColour (LassoComponent<Object>::lassoFillColourId, findColour (PlugDataColour::objectSelectedOutlineColourId).withAlpha (0 .3f ));
279+ lasso.setColour (LassoComponent<Object>::lassoFillColourId, findColour (PlugDataColour::objectSelectedOutlineColourId).withAlpha (0 .125f ));
280+
281+ lasso.setColour (LassoComponent<Object>::lassoOutlineColourId, findColour (PlugDataColour::objectSelectedOutlineColourId).withAlpha (0 .8f ));
279282}
280283
281284void Canvas::paint (Graphics& g)
@@ -461,7 +464,9 @@ void Canvas::performSynchronise()
461464 // Remove deleted objects
462465 for (int n = objects.size () - 1 ; n >= 0 ; n--) {
463466 auto * object = objects[n];
464- if (!object->getPointer () || patch.objectWasDeleted (object->getPointer ())) {
467+
468+ // If the object is showing it's initial editor, meaning no object was assigned yet, allow it to exist without pointing to an object
469+ if ((!object->getPointer ()|| patch.objectWasDeleted (object->getPointer ())) && !object->isInitialEditorShown ()) {
465470 setSelected (object, false , false );
466471 objects.remove (n);
467472 }
0 commit comments