<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -634,10 +634,16 @@ int Lines::UpdateSelection(unsigned int sel_id, unsigned int start, unsigned int
 }
 
 void Lines::RemoveSelection(unsigned int sel_id) {
+	// FS#393 0 Quickly pressing and releasing CTRL and ALT while making a 
+	// selection can cause this function to be called in a way that violates this 
+	// assertion. In that case, we don't want to blow up here.
+	if (selections.empty()) return;
+
 	wxASSERT(!selections.empty() &amp;&amp; sel_id &lt; selections.size());
 	selections.erase(selections.begin()+sel_id);
 
-	if (m_lastSel == (int)sel_id) m_lastSel = -1;
+	if (m_lastSel == (int)sel_id)
+		m_lastSel = -1;
 }
 
 void Lines::RemoveAllSelections(bool checkShadow, unsigned int pos) {</diff>
      <filename>src/Lines.cpp</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>c60c9a617164aa45efb06687b8e110d910d5d79e</id>
    </parent>
  </parents>
  <author>
    <name>adamv</name>
    <email>flangy@gmail.com</email>
  </author>
  <url>http://github.com/etexteditor/e/commit/7fa8d8064d18a15d9da4b1289d33c7deeea1cb29</url>
  <id>7fa8d8064d18a15d9da4b1289d33c7deeea1cb29</id>
  <committed-date>2009-11-02T16:09:37-08:00</committed-date>
  <authored-date>2009-11-02T16:06:57-08:00</authored-date>
  <message>FS#393 - Don't modify the selection if none exists.</message>
  <tree>1bbcc38ceda9bf5fcbd009b5c2c7e6341449a875</tree>
  <committer>
    <name>adamv</name>
    <email>flangy@gmail.com</email>
  </committer>
</commit>
