Fixed injecting of sponsored messages at first load of history messages.
This commit is contained in:
		
							parent
							
								
									1b3cf0a654
								
							
						
					
					
						commit
						ec6dda47ae
					
				
					 2 changed files with 7 additions and 2 deletions
				
			
		|  | @ -2065,6 +2065,7 @@ void HistoryWidget::showHistory( | |||
| 			} | ||||
| 			return; | ||||
| 		} else { | ||||
| 			_sponsoredMessagesStateKnown = false; | ||||
| 			session().data().sponsoredMessages().clearItems(_history); | ||||
| 			session().data().hideShownSpoilers(); | ||||
| 			_composeSearch = nullptr; | ||||
|  | @ -2299,6 +2300,7 @@ void HistoryWidget::showHistory( | |||
| 				auto &sponsored = session().data().sponsoredMessages(); | ||||
| 				using State = Data::SponsoredMessages::State; | ||||
| 				const auto state = sponsored.state(_history); | ||||
| 				_sponsoredMessagesStateKnown = (state != State::None); | ||||
| 				if (state == State::AppendToEnd) { | ||||
| 					_scroll->setTrackingContent( | ||||
| 						sponsored.canHaveFor(_history)); | ||||
|  | @ -3074,7 +3076,7 @@ void HistoryWidget::messagesReceived( | |||
| 		int requestId) { | ||||
| 	Expects(_history != nullptr); | ||||
| 
 | ||||
| 	bool toMigrated = (peer == _peer->migrateFrom()); | ||||
| 	const auto toMigrated = (peer == _peer->migrateFrom()); | ||||
| 	if (peer != _peer && !toMigrated) { | ||||
| 		if (_preloadRequest == requestId) { | ||||
| 			_preloadRequest = 0; | ||||
|  | @ -3148,6 +3150,7 @@ void HistoryWidget::messagesReceived( | |||
| 		} | ||||
| 
 | ||||
| 		historyLoaded(); | ||||
| 		injectSponsoredMessages(); | ||||
| 	} else if (_delayedShowAtRequest == requestId) { | ||||
| 		if (toMigrated) { | ||||
| 			_history->clear(History::ClearType::Unload); | ||||
|  | @ -3352,7 +3355,7 @@ void HistoryWidget::loadMessagesDown() { | |||
| 
 | ||||
| 	auto loadMigrated = _migrated && !(_migrated->isEmpty() || _migrated->loadedAtBottom() || (!_history->isEmpty() && !_history->loadedAtTop())); | ||||
| 	auto from = loadMigrated ? _migrated : _history; | ||||
| 	if (from->loadedAtBottom()) { | ||||
| 	if (from->loadedAtBottom() && _sponsoredMessagesStateKnown) { | ||||
| 		session().data().sponsoredMessages().request(_history, nullptr); | ||||
| 		return; | ||||
| 	} | ||||
|  |  | |||
|  | @ -793,6 +793,8 @@ private: | |||
| 		ItemRevealAnimation> _itemRevealAnimations; | ||||
| 	int _itemsRevealHeight = 0; | ||||
| 
 | ||||
| 	bool _sponsoredMessagesStateKnown = false; | ||||
| 
 | ||||
| 	object_ptr<Ui::PlainShadow> _topShadow; | ||||
| 	bool _inGrab = false; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 23rd
						23rd