Mudlet: Kopieren/Einfügen des Haupttextfensters funktioniert nicht mehr

Erstellt am 22. Dez. 2019  ·  24Kommentare  ·  Quelle: Mudlet/Mudlet

Kurze Zusammenfassung des Problems / Beschreibung der angeforderten Funktion:

Mudlet 4.4.0 statt Absturz jetzt kopieren/einfügen funktioniert manchmal einfach nicht

  • Ich bin mir nicht sicher, was genau das bewirkt, aber es fühlt sich an, als würde das Kopieren / Einfügen irgendwann nicht mehr funktionieren. cmd-c oder Rechtsklick kopieren, beides funktioniert nicht. als html kopieren funktioniert tho. was interessant ist.

das ist unglaublich frustrierend.

bug high

Hilfreichster Kommentar

@njs50 @Ranfir Ich habe eine Möglichkeit gefunden, dies zu beheben, ohne Ihr Profil neu starten zu müssen. Erstelle einen Alias ​​damit:

echo("\nJust fill up the line with random gibberish!")
echo("\nJust fill up the line with random gibberish!")
echo("\nJust fill up the line with random gibberish!")
---etc, up to 1000 lines of the above echo

Drücken Sie dann Ihren Alias, um die 1000 Spam-Zeilen an Ihr Profil zu senden. Ein Hit und Sie sollten in der Lage sein, wieder zu kopieren und einzufügen! Ich habe es mit einem 100-Zeilen-Alias ​​versucht und das war nicht genug, aber 1000 Zeilen haben es geschafft.

Alle 24 Kommentare

Ich habe dieses Problem unter Windows 10. Es wird sporadisch nicht mehr funktionieren und einige Minuten später beginnen. Unklar, wie man sich konsequent reproduziert, passiert aber häufig genug, um ein großes Ärgernis zu sein.

Ich sehe dieses Problem immer noch unter 4.5.1-de.

das ist unglaublich frustrierend.

Dem kann ich nicht mehr zustimmen.

Bestätigt, dass dieses Problem in 4.6.2 unter OSX weiterhin auftritt. Es ist seltsam, weil es auch profilspezifisch ist. Ein Profil kann kopieren und einfügen, während ein anderes, gleichzeitig geöffnetes Profil nicht kopieren und einfügen kann.

Es ist schwierig, dies zu beheben, weil man Mudlet öffnen kann und es funktioniert gut, also wie findet man das Problem dann? Eine Möglichkeit, das Problem zu replizieren, würde dies massenhaft vorantreiben

fwiw, wenn es kaputt ist, funktioniert die Kopie als HTML immer noch. vielleicht hilft das, das Problem einzugrenzen.

Ich denke auch, dass es ungefähr zu der Zeit begann, als diese PR zusammengeführt wurde: https://github.com/Mudlet/Mudlet/pull/3241 Es hat den Absturz behoben, aber dann funktioniert das Kopieren/Einfügen nicht mehr, sondern funktioniert nicht mehr, also war vielleicht etwas nicht ganz genau da...

Hmm gut, wir können diese Theorie testen, versuchen Sie den Test-Build in https://github.com/Mudlet/Mudlet/pull/3688. Führen Sie Mudlet über das Terminal aus - in macOS befindet es sich also in der .app/Contents. Es wird eine Nachricht gedruckt, wenn der Scheck nicht übereinstimmt.

Habe vor ein paar Tagen einen ähnlichen Fehler bei Win10 bemerkt.

Probieren Sie den Test-Build aus, führen Sie mudlet.exe und sehen Sie, ob etwas im Terminal auftaucht, wenn das Problem erneut auftritt.

Nun, derzeit laufe und teste ich bereits den Release Candidate der nächsten Version, werde dies also später tun. Jedenfalls ist es vorher nur einmal passiert (damit ich es bemerkt habe), und ich habe Mudlet zu diesem Zeitpunkt eine ganze Weile betrieben. Nicht sicher, wie man repliziert.

@njs50 @Ranfir Ich habe eine Möglichkeit gefunden, dies zu beheben, ohne Ihr Profil neu starten zu müssen. Erstelle einen Alias ​​damit:

echo("\nJust fill up the line with random gibberish!")
echo("\nJust fill up the line with random gibberish!")
echo("\nJust fill up the line with random gibberish!")
---etc, up to 1000 lines of the above echo

Drücken Sie dann Ihren Alias, um die 1000 Spam-Zeilen an Ihr Profil zu senden. Ein Hit und Sie sollten in der Lage sein, wieder zu kopieren und einzufügen! Ich habe es mit einem 100-Zeilen-Alias ​​versucht und das war nicht genug, aber 1000 Zeilen haben es geschafft.

Bei mir trat der Fehler in den letzten Wochen nicht mehr auf, aber wir hatten gelegentlich Spieler in Discord, die ähnliches berichteten. Sie schienen mit der obigen Problemumgehung zufrieden zu sein, daher kann dies helfen, den Fehler zu triangulieren.

In jedem Fall können Sie eine lua-Schleife verwenden , anstatt 1000 Zeilen Spam in ihren Alias ​​zu

 local repetitions = 1000
 local i = 1
 repeat
  echo("\nJust fill up the line with random gibberish!")
  i = i + 1
 until i > repetitions 

Du kannst sogar mit der Anzahl der Wiederholungen experimentieren, vielleicht hilft das noch mehr? Derzeit scheinen 100 zu wenig zu sein, und 1000 scheint genug zu sein. Nicht sicher, warum und wo sich das genau ändert.

:bulb: Ähm, IIRC werden die Details der aktuellen Auswahl in zwei QPoint s TConsole::P_begin & P_end gespeichert - aber wenn (void) TBuffer::shrinkBuffer() , um die älteste (niedrigste Zeilennummer) vom Anfang der TBuffer (std::deque<std::deque<TChar>>) buffer und (QStringList) lineBuffer und ein oder zwei andere Container mit einem Element pro Zeile: Welche Schritte werden unternommen steps um die y Werte von P_begin und P_end anzupassen :frage:

Ich habe erst bemerkt, dass es passiert, nachdem der Puffer lang genug geworden ist, um zu verkleinern. Wenn es passiert, scheint es außerdem, dass die Hervorhebung im oberen und unteren Puffer (wenn Sie in der Konsole nach oben gescrollt haben) nicht mehr synchron sind. Die Auswahl oben und unten scheint zu helfen, die Kopierfunktion wieder zum Laufen zu bringen, aber ich kann nicht sagen, dass dies vollständig konsistent ist, da dies nicht oft genug geschieht, um zuverlässig zu testen.

es scheint wirklich seltsam, dass "als html kopieren" weiterhin funktioniert, wenn die normale Kopie nicht mehr funktioniert. das scheint darauf hinzudeuten, dass vielleicht nicht die Auswahl das Problem ist, sondern etwas, das in der Auswahl enthalten ist?

Die beiden verwenden unterschiedliche Algorithmen, denke ich. Was darauf hindeutet, dass das einfache Kopieren ein oder zwei Tricks von der Kopie nach HTML lernen könnte.

Als Bild kopieren kopiert die Auswahl auch weiterhin richtig iirc

Gibt es eine Möglichkeit, den Echo-Trick auszuführen, ohne meinen Puffer mit 1000 Zeilen Müll zu füllen? Ich würde gerne versuchen, eine Problemumgehung zu finden, die nicht das Löschen einer perfekt guten Spielsitzung beinhaltet, die ich auch protokolliere.

Funktioniert clearWindow?

sieht so aus als hätte es bei mir gerade funktioniert. ich weiß nicht ob das Zufall war. Es sieht verdächtig so aus, als würde das Kopieren/Einfügen weiterhin funktionieren, bis Dinge vom Ende meines Scrollbacks entfernt werden

das habe ich gerade nochmal wiederholt. Kopieren/Einfügen erschien gut, nachdem clearWindow() ausgeführt wurde, bis der Puffer voll war. Sobald es voll war, als ich einen Text kopierte, der vorbeiflog, schlug es fehl und funktionierte nicht mehr. clearWindow hat es wieder behoben.

Auch ich habe meinen Spielpuffer gefüllt, bis die Linien oben zu verschwinden begannen.
Kopieren/Einfügen funktionierte zu diesem Zeitpunkt noch wie erwartet einwandfrei.
Wie füllen Sie Ihren Puffer genau?

Ich habe versucht, die Stapellöschnummer für meine Konsolenpuffergröße auf 10 zu senken, und obwohl dies den Nebeneffekt einer seltsamen Textanzeige beim Stapellöschen verursacht, scheint es den Prozess der Behebung des Kopierproblems zu beschleunigen.

Auch ich habe meinen Spielpuffer gefüllt, bis die Linien oben zu verschwinden begannen.
Kopieren/Einfügen funktionierte zu diesem Zeitpunkt noch wie erwartet einwandfrei.
Wie füllen Sie Ihren Puffer genau?

Ich habe es mit einem laufenden Spiel getestet. Ich habe das meiste gefüllt, indem ich eine Reihe von Notizen auf einem Notizbrett durchgegangen bin, und als ich bemerkte, dass Text wieder oben aus dem Puffer gelöscht wurde, traf ich eine neue Auswahl.

Während der gesamten Zeit, in der ich zum Kopieren ausgewählt habe, kam definitiv Text.

Ich war auch definitiv in das Scrollen zurück, als ich kopierte. dh ich hatte die Auswahl weit genug gezogen, um die aktuelle Textseite zu verlassen.

Mit Strg-C (Kopieren) aus dem Kontextmenü:

  • (void) TTextEdit::slot_copySelectionToClipboard()
  • (QString) TTextEdit::getSelectedText(char newlineChar) - verwendet die aktuellen Werte in (QPoint) TTextEdit::mPA & mpB und fügt den Text in die QApplication::clipboard()

Verwenden von Als HTML kopieren aus dem Kontextmenü:

  • (void) TTextEdit::slot_copySelectionToClipboardHTML() - verwendet (QPoint) TTextEdit::mDragStart und mDragSelectionEnd zum SET TTextEdit::mPA & mpB und verwendet dann sofort Letzteres, um die Daten der TBuffer in den generierten HTML-Code.

Es könnte sich lohnen, mit dem Kopieren des Auswahlverfahrens von letzterem auf ersteres zu experimentieren....

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen