From 3eb270ff0b6d8d86a0e20da4241ce6707b5b5435 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Wed, 28 Jun 2000 14:52:20 +0000 Subject: [PATCH] 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 --- ChangeLog | 13 +++++++++++++ po/fr.po | 9 ++++++--- src/insets/insetindex.C | 6 ++++-- src/support/lyxsum.C | 1 + src/text2.C | 32 ++++++++++++++++++++++---------- 5 files changed, 46 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1db1a3faf0..b20efd0f52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2000-06-28 Jean-Marc Lasgouttes + + * 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 * src/lyxrc.C (read): make sure the .kmap files exist when a keymap diff --git a/po/fr.po b/po/fr.po index c2e826e8bd..a6b2c59e95 100644 --- a/po/fr.po +++ b/po/fr.po @@ -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 diff --git a/src/insets/insetindex.C b/src/insets/insetindex.C index 03e844d5d5..2ae9f5d22f 100644 --- a/src/insets/insetindex.C +++ b/src/insets/insetindex.C @@ -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) { diff --git a/src/support/lyxsum.C b/src/support/lyxsum.C index 26028bb103..fbf532d34d 100644 --- a/src/support/lyxsum.C +++ b/src/support/lyxsum.C @@ -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()); diff --git a/src/text2.C b/src/text2.C index a7bec6020f..d39e3c3ab5 100644 --- a/src/text2.C +++ b/src/text2.C @@ -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;