Bug SS-188
2 votes

Maxima Draw Region: Corruption of canvas update

Created by Martin Kraska on 8/4/2014 6:19 PM Last Updated by Martin Kraska on 9/3/2018 1:36 PM
Logged: 0   (hrs)


The Draw regions can get into an irregular state, such that the display update of SMath is limited to the screen area previously occupied by the Draw region. This is not yet reproducible. Please share your observations on this issue.

    Martin Kraska (Monday, September 3, 2018 1:36 PM) #

Can't reproduce in 6671

    Martin Kraska (Monday, July 31, 2017 11:47 AM) #

Here is how to reproduce (when debugging in VS)

Open "Plugin maxima.sm" from the interactive handbook.

Follow the link "Plotting with Maxima"

Follow the link "Example: transparent parametric surface"

This throws a NullReferenceException in ReceiveSingleCommand (line 90 in AutoSocket.cs)

System.NullReferenceException wurde nicht von Benutzercode behandelt.
  Message=Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
       bei MaximaPlugin.AutoSocket.ReceiveSingleCommand(String option)
       bei MaximaPlugin.AutoMaxima.ReceiveSingleCommandFromSocket()
       bei MaximaPlugin.ControlObjects.CommunicationInterface.Receive()
       bei MaximaPlugin.ControlObjects.CommunicationInterface.SendAndReceive(String sendString, String optionCode)
       bei MaximaPlugin.ControlObjects.MaximaPluginInterface.SendAndReceive(String sendString, String optionCode)
       bei MaximaPlugin.PlotImage.Draw.RegionDraw(MaximaPluginCanvas region)
       bei MaximaPlugin.PlotImage.MaximaPluginCanvas.Plot()
       bei MaximaPlugin.PlotImage.MaximaPluginCanvas.OnPaint(PaintEventArgs e)
       bei SMath.Control.RegionHolder`1.OnPaint(PaintEventArgs e)
       bei SMath.Control.WorksheetControl.RegionPaint(RegionBase region, Int32 yCorr)

Pressing Continue in the debugger re-launches Maxima and leaves the SMath instance in the irregular state as mentioned in the issue description above.

BTW; Resizing the SMath Window recovers from the irregular state!