From d5bf8ec558bf9e4aec074383dbcbbb035a4fca24 Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Fri, 2 Mar 2018 00:15:28 +0100
Subject: [PATCH] Fix missing image/video context menu for tweets that have
 both media and a quote

---
 Resources/Scripts/code.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Resources/Scripts/code.js b/Resources/Scripts/code.js
index da730911..011380c6 100644
--- a/Resources/Scripts/code.js
+++ b/Resources/Scripts/code.js
@@ -542,7 +542,8 @@
     let me = $(this)[0];
     
     if (me.classList.contains("js-media-image-link") && highlightedTweetObj){
-      let media = (highlightedTweetObj.quotedTweet || highlightedTweetObj).getMedia().find(media => media.mediaId === me.getAttribute("data-media-entity-id"));
+      let tweet = highlightedTweetObj.hasMedia() ? highlightedTweetObj : highlightedTweetObj.quotedTweet;
+      let media = tweet.getMedia().find(media => media.mediaId === me.getAttribute("data-media-entity-id"));
       
       if ((media.isVideo && media.service === "twitter") || media.isAnimatedGif){
         $TD.setLastRightClickInfo("video", media.chooseVideoVariant().url);
@@ -640,7 +641,7 @@
           let tweetUrl = tweet.getChirpURL();
           let quoteUrl = tweet.quotedTweet ? tweet.quotedTweet.getChirpURL() : "";
           let authors = tweet.quotedTweet ? [ tweet.getMainUser().screenName, tweet.quotedTweet.getMainUser().screenName ].join(";") : tweet.getMainUser().screenName;
-          let imageList = tweet.quotedTweet && tweet.quotedTweet.hasImage() ? processMedia(tweet.quotedTweet) : tweet.hasImage() ? processMedia(tweet) : "";
+          let imageList = tweet.hasImage() ? processMedia(tweet) : tweet.quotedTweet && tweet.quotedTweet.hasImage() ? processMedia(tweet.quotedTweet) : "";
           
           updateHighlightedTweet(me, tweet, tweetUrl || "", quoteUrl || "", authors, imageList);
         }