Broken Jucer


#1

Errors are related to recent MouseEvent and MouseWheelDetails modifications.

Perhaps the following was the intent? (within the ZoomingViewport class):

void mouseWheelMove (const MouseEvent& e, const MouseWheelDetails& wheel)
{
    if (e.mods.isCtrlDown() || e.mods.isAltDown())
    {
        const double factor = (wheel.deltaY > 0) ? 2.0 : 0.5;

        panel->setZoom (panel->getZoom() * factor, wheel.deltaX, wheel.deltaY);
    }
    else
    {
        Viewport::mouseWheelMove (e, wheel);
    }
}

Error list:

Error	1	error C2039: 'mouseEvent' : is not a member of 'juce::MouseEvent'	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	75
Error	2	error C2228: left of '.mods' must have class/struct/union	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	75
Error	3	error C2228: left of '.isCtrlDown' must have class/struct/union	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	75
Error	4	error C2039: 'mouseEvent' : is not a member of 'juce::MouseEvent'	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	75
Error	5	error C2228: left of '.mods' must have class/struct/union	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	75
Error	6	error C2228: left of '.isAltDown' must have class/struct/union	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	75
Error	7	error C2039: 'wheelDeltaY' : is not a member of 'juce::MouseEvent'	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	77
Error	8	error C2039: 'wheelDeltaX' : is not a member of 'juce::MouseEvent'	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	79
Error	9	error C2039: 'wheelDeltaY' : is not a member of 'juce::MouseEvent'	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	79
Error	10	error C2065: 'ix' : undeclared identifier	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	83
Error	11	error C2065: 'iy' : undeclared identifier	\juce\extras\the jucer\src\ui\jucer_editingpanelbase.cpp	83

#2

Confirmed: can’t build Jucer at the moment.


#3

Sorry chaps. Fixed now.


#4

Thanks! All fine now.


#5


This code in the latest juce gets in an inifite loop if you scroll the mouseWheel and hold the altKey down. This does not happen with shiftKey down.

void CViewPort::mouseWheelMove( const MouseEvent &e, const MouseWheelDetails &details )
{
    Viewport::mouseWheelMove( e, details );
    return;

}


#6

That code is completely redundant - removing it would make no difference to the behaviour of your program. How is it supposed to be useful in explaining your bug?

Why not explain how to replicate the problem in a way that other people could try? Or at least post a stack trace showing the sequence of function calls in this infinite loop?