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>
* src/lyxrc.C (read): make sure the .kmap files exist when a keymap

View File

@ -102,6 +102,9 @@
# -------------------------------------------------------------------------
# JPC 27 Juin 2000
# 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 ""
msgstr ""
@ -1111,11 +1114,11 @@ msgstr ""
#: src/insets/form_url.C:23
msgid "Name"
msgstr "Destinataire"
msgstr "Ancre"
#: src/insets/form_url.C:24 src/lyx.C:175
msgid "Name|#N"
msgstr "Destinataire|#N"
msgstr "Ancre|#N"
#: src/insets/form_url.C:27
msgid "HTML type"
@ -1123,7 +1126,7 @@ msgstr "type HTML"
#: src/insets/form_url.C:28
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/latexoptions.C:47 src/layout_forms.C:240 src/layout_forms.C:567

View File

@ -90,9 +90,11 @@ void InsetIndex::Edit(BufferView * bv, int, int, unsigned int)
if(bv->buffer()->isReadonly())
WarnReadonly(bv->buffer()->fileName());
if (!index_form)
if (!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;
fl_set_input(index_form->key, getContents().c_str());
if (index_form->index_form->visible) {

View File

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

View File

@ -1057,16 +1057,6 @@ void LyXText::SetSelection()
if (sel_start_cursor.par == sel_end_cursor.par &&
sel_start_cursor.pos == sel_end_cursor.pos)
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)
{
// 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
if (!selection)
return;
@ -2393,6 +2394,17 @@ 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
if (!selection)
return;