Fix crash in quiz explanation with spoilers.
This commit is contained in:
		
							parent
							
								
									d15173e09d
								
							
						
					
					
						commit
						f167cdad6f
					
				
					 5 changed files with 21 additions and 3 deletions
				
			
		|  | @ -8,6 +8,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL | ||||||
| #include "history/history_view_top_toast.h" | #include "history/history_view_top_toast.h" | ||||||
| 
 | 
 | ||||||
| #include "ui/toast/toast.h" | #include "ui/toast/toast.h" | ||||||
|  | #include "core/ui_integration.h" | ||||||
| #include "styles/style_chat.h" | #include "styles/style_chat.h" | ||||||
| 
 | 
 | ||||||
| namespace HistoryView { | namespace HistoryView { | ||||||
|  | @ -27,8 +28,15 @@ InfoTooltip::InfoTooltip() = default; | ||||||
| 
 | 
 | ||||||
| void InfoTooltip::show( | void InfoTooltip::show( | ||||||
| 		not_null<QWidget*> parent, | 		not_null<QWidget*> parent, | ||||||
|  | 		not_null<Main::Session*> session, | ||||||
| 		const TextWithEntities &text, | 		const TextWithEntities &text, | ||||||
| 		Fn<void()> hiddenCallback) { | 		Fn<void()> hiddenCallback) { | ||||||
|  | 	const auto context = [=](not_null<QWidget*> toast) { | ||||||
|  | 		return Core::MarkedTextContext{ | ||||||
|  | 			.session = session, | ||||||
|  | 			.customEmojiRepaint = [=] { toast->update(); }, | ||||||
|  | 		}; | ||||||
|  | 	}; | ||||||
| 	hide(anim::type::normal); | 	hide(anim::type::normal); | ||||||
| 	_topToast = Ui::Toast::Show(parent, Ui::Toast::Config{ | 	_topToast = Ui::Toast::Show(parent, Ui::Toast::Config{ | ||||||
| 		.text = text, | 		.text = text, | ||||||
|  | @ -37,6 +45,7 @@ void InfoTooltip::show( | ||||||
| 		.multiline = true, | 		.multiline = true, | ||||||
| 		.dark = true, | 		.dark = true, | ||||||
| 		.slideSide = RectPart::Top, | 		.slideSide = RectPart::Top, | ||||||
|  | 		.textContext = context, | ||||||
| 	}); | 	}); | ||||||
| 	if (const auto strong = _topToast.get()) { | 	if (const auto strong = _topToast.get()) { | ||||||
| 		if (hiddenCallback) { | 		if (hiddenCallback) { | ||||||
|  |  | ||||||
|  | @ -9,6 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL | ||||||
| 
 | 
 | ||||||
| #include "base/weak_ptr.h" | #include "base/weak_ptr.h" | ||||||
| 
 | 
 | ||||||
|  | namespace Main { | ||||||
|  | class Session; | ||||||
|  | } // namespace Main
 | ||||||
|  | 
 | ||||||
| namespace Ui::Toast { | namespace Ui::Toast { | ||||||
| class Instance; | class Instance; | ||||||
| } // namespace Ui::Toast
 | } // namespace Ui::Toast
 | ||||||
|  | @ -21,6 +25,7 @@ public: | ||||||
| 
 | 
 | ||||||
| 	void show( | 	void show( | ||||||
| 		not_null<QWidget*> parent, | 		not_null<QWidget*> parent, | ||||||
|  | 		not_null<Main::Session*> session, | ||||||
| 		const TextWithEntities &text, | 		const TextWithEntities &text, | ||||||
| 		Fn<void()> hiddenCallback); | 		Fn<void()> hiddenCallback); | ||||||
| 	void hide(anim::type animated); | 	void hide(anim::type animated); | ||||||
|  |  | ||||||
|  | @ -6765,7 +6765,11 @@ bool HistoryWidget::sendExistingPhoto( | ||||||
| void HistoryWidget::showInfoTooltip( | void HistoryWidget::showInfoTooltip( | ||||||
| 		const TextWithEntities &text, | 		const TextWithEntities &text, | ||||||
| 		Fn<void()> hiddenCallback) { | 		Fn<void()> hiddenCallback) { | ||||||
| 	_topToast.show(_scroll.data(), text, std::move(hiddenCallback)); | 	_topToast.show( | ||||||
|  | 		_scroll.data(), | ||||||
|  | 		&session(), | ||||||
|  | 		text, | ||||||
|  | 		std::move(hiddenCallback)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void HistoryWidget::showPremiumStickerTooltip( | void HistoryWidget::showPremiumStickerTooltip( | ||||||
|  |  | ||||||
|  | @ -1456,7 +1456,7 @@ void ListWidget::elementShowTooltip( | ||||||
| 		const TextWithEntities &text, | 		const TextWithEntities &text, | ||||||
| 		Fn<void()> hiddenCallback) { | 		Fn<void()> hiddenCallback) { | ||||||
| 	// Under the parent is supposed to be a scroll widget.
 | 	// Under the parent is supposed to be a scroll widget.
 | ||||||
| 	_topToast.show(parentWidget(), text, hiddenCallback); | 	_topToast.show(parentWidget(), &session(), text, hiddenCallback); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool ListWidget::elementAnimationsPaused() { | bool ListWidget::elementAnimationsPaused() { | ||||||
|  |  | ||||||
|  | @ -1 +1 @@ | ||||||
| Subproject commit 89ae115a878feb9e07fe7423fcf123397eba5966 | Subproject commit eafd7dc818433ec435c2862bb91b7e3c7f65336b | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 John Preston
						John Preston