--- a/src/Tools/jEdit/src/document_view.scala Tue Sep 18 21:16:48 2012 +0200
+++ b/src/Tools/jEdit/src/document_view.scala Wed Sep 19 12:10:40 2012 +0200
@@ -97,6 +97,7 @@
first_line: Int, last_line: Int, physical_lines: Array[Int],
start: Array[Int], end: Array[Int], y: Int, line_height: Int)
{
+ // no robust_body
model.update_perspective()
}
}
--- a/src/Tools/jEdit/src/rich_text_area.scala Tue Sep 18 21:16:48 2012 +0200
+++ b/src/Tools/jEdit/src/rich_text_area.scala Wed Sep 19 12:10:40 2012 +0200
@@ -127,35 +127,39 @@
private def active_reset(): Unit = active_areas.foreach(_.reset)
private val focus_listener = new FocusAdapter {
- override def focusLost(e: FocusEvent) { active_reset() }
+ override def focusLost(e: FocusEvent) { robust_body(()) { active_reset() } }
}
private val window_listener = new WindowAdapter {
- override def windowIconified(e: WindowEvent) { active_reset() }
- override def windowDeactivated(e: WindowEvent) { active_reset() }
+ override def windowIconified(e: WindowEvent) { robust_body(()) { active_reset() } }
+ override def windowDeactivated(e: WindowEvent) { robust_body(()) { active_reset() } }
}
private val mouse_listener = new MouseAdapter {
override def mouseClicked(e: MouseEvent) {
- hyperlink_area.info match {
- case Some(Text.Info(range, link)) => link.follow(view)
- case None =>
+ robust_body(()) {
+ hyperlink_area.info match {
+ case Some(Text.Info(range, link)) => link.follow(view)
+ case None =>
+ }
}
}
}
private val mouse_motion_listener = new MouseMotionAdapter {
override def mouseMoved(e: MouseEvent) {
- control = if (OperatingSystem.isMacOS()) e.isMetaDown else e.isControlDown
- if (control && !buffer.isLoading) {
- JEdit_Lib.buffer_lock(buffer) {
- val rendering = get_rendering()
- val mouse_offset = text_area.xyToOffset(e.getX(), e.getY())
- val mouse_range = JEdit_Lib.point_range(buffer, mouse_offset)
- active_areas.foreach(_.update_rendering(rendering, mouse_range))
+ robust_body(()) {
+ control = if (OperatingSystem.isMacOS()) e.isMetaDown else e.isControlDown
+ if (control && !buffer.isLoading) {
+ JEdit_Lib.buffer_lock(buffer) {
+ val rendering = get_rendering()
+ val mouse_offset = text_area.xyToOffset(e.getX(), e.getY())
+ val mouse_range = JEdit_Lib.point_range(buffer, mouse_offset)
+ active_areas.foreach(_.update_rendering(rendering, mouse_range))
+ }
}
+ else active_reset()
}
- else active_reset()
}
}