Fix a few crashes

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/lyx-1_1_5@845 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Jean-Marc Lasgouttes 2000-06-28 14:52:20 +00:00
parent 4ca058e2ae
commit 3eb270ff0b
5 changed files with 46 additions and 15 deletions

View File

@ -1,3 +1,16 @@
2000-06-28 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* src/insets/insetindex.C (Edit): add a callback when popup is
closed by the WM.
* src/text2.C (CopySelection):
(CutSelection):
(SetSelection): stuff thing in the X clipboard at cut/copy time,
not at selection time.
* src/support/lyxsum.C (sum): '\0' teminate file read when using
strstream.
2000-06-27 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr> 2000-06-27 Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
* src/lyxrc.C (read): make sure the .kmap files exist when a keymap * src/lyxrc.C (read): make sure the .kmap files exist when a keymap

View File

@ -102,6 +102,9 @@
# ------------------------------------------------------------------------- # -------------------------------------------------------------------------
# JPC 27 Juin 2000 # JPC 27 Juin 2000
# reprise des 4 ou 5 "fuzzy" non traités précédemment # reprise des 4 ou 5 "fuzzy" non traités précédemment
# -------------------------------------------------------------------------
# JPC 28 Juin 2000
# correction de "destinataire ??" en "ancre" pour les popups html
msgid "" msgid ""
msgstr "" msgstr ""
@ -1111,11 +1114,11 @@ msgstr ""
#: src/insets/form_url.C:23 #: src/insets/form_url.C:23
msgid "Name" msgid "Name"
msgstr "Destinataire" msgstr "Ancre"
#: src/insets/form_url.C:24 src/lyx.C:175 #: src/insets/form_url.C:24 src/lyx.C:175
msgid "Name|#N" msgid "Name|#N"
msgstr "Destinataire|#N" msgstr "Ancre|#N"
#: src/insets/form_url.C:27 #: src/insets/form_url.C:27
msgid "HTML type" msgid "HTML type"
@ -1123,7 +1126,7 @@ msgstr "type HTML"
#: src/insets/form_url.C:28 #: src/insets/form_url.C:28
msgid "HTML type|#H" msgid "HTML type|#H"
msgstr "type HTML" msgstr "type HTML|#H"
#: src/LyXAction.C:118 src/insets/form_url.C:31 src/insets/inseterror.C:179 #: src/LyXAction.C:118 src/insets/form_url.C:31 src/insets/inseterror.C:179
#: src/latexoptions.C:47 src/layout_forms.C:240 src/layout_forms.C:567 #: src/latexoptions.C:47 src/layout_forms.C:240 src/layout_forms.C:567

View File

@ -90,8 +90,10 @@ void InsetIndex::Edit(BufferView * bv, int, int, unsigned int)
if(bv->buffer()->isReadonly()) if(bv->buffer()->isReadonly())
WarnReadonly(bv->buffer()->fileName()); WarnReadonly(bv->buffer()->fileName());
if (!index_form) if (!index_form) {
index_form = create_form_index_form(); index_form = create_form_index_form();
fl_set_form_atclose(index_form->index_form, CancelCloseBoxCB, 0);
}
index_form->index_form->u_vdata = this; index_form->index_form->u_vdata = this;
fl_set_input(index_form->key, getContents().c_str()); fl_set_input(index_form->key, getContents().c_str());

View File

@ -126,6 +126,7 @@ unsigned long lyx::sum(char const * file)
#else #else
ostrstream ostr; ostrstream ostr;
ostr << ifs.rdbuf(); ostr << ifs.rdbuf();
ostr << '\0';
char * tmp = ostr.str(); char * tmp = ostr.str();
if (!tmp) return 0; // empty file if (!tmp) return 0; // empty file
string w(tmp, ostr.tellp()); string w(tmp, ostr.tellp());

View File

@ -1057,16 +1057,6 @@ void LyXText::SetSelection()
if (sel_start_cursor.par == sel_end_cursor.par && if (sel_start_cursor.par == sel_end_cursor.par &&
sel_start_cursor.pos == sel_end_cursor.pos) sel_start_cursor.pos == sel_end_cursor.pos)
selection = false; selection = false;
// Stuff what we got on the clipboard. Even if there is no selection.
// There is a problem with having the stuffing here in that the
// larger the selection the slower LyX will get. This can be
// solved by running the line below only when the selection has
// finished. The solution used currently just works, to make it
// faster we need to be more clever and probably also have more
// calls to stuffClipboard. (Lgb)
owner_->stuffClipboard(selectionAsString());
} }
@ -2197,6 +2187,17 @@ void LyXText::CutSelection(bool doclear)
void LyXText::CutSelection(bool doclear) void LyXText::CutSelection(bool doclear)
{ {
// Stuff what we got on the clipboard. Even if there is no selection.
// There is a problem with having the stuffing here in that the
// larger the selection the slower LyX will get. This can be
// solved by running the line below only when the selection has
// finished. The solution used currently just works, to make it
// faster we need to be more clever and probably also have more
// calls to stuffClipboard. (Lgb)
owner_->stuffClipboard(selectionAsString());
// This doesn't make sense, if there is no selection // This doesn't make sense, if there is no selection
if (!selection) if (!selection)
return; return;
@ -2393,6 +2394,17 @@ void LyXText::CopySelection()
void LyXText::CopySelection() void LyXText::CopySelection()
{ {
// Stuff what we got on the clipboard. Even if there is no selection.
// There is a problem with having the stuffing here in that the
// larger the selection the slower LyX will get. This can be
// solved by running the line below only when the selection has
// finished. The solution used currently just works, to make it
// faster we need to be more clever and probably also have more
// calls to stuffClipboard. (Lgb)
owner_->stuffClipboard(selectionAsString());
// this doesnt make sense, if there is no selection // this doesnt make sense, if there is no selection
if (!selection) if (!selection)
return; return;