https://bugs.kde.org/show_bug.cgi?id=343796

--- Comment #3 from Vadim A. Misbakh-Soloviov (mva) <k...@mva.name> ---
NB: `urlKind(currentUrl())` (which `currentUrlIsRasterImage()` calls to detect
return value) returns 8 every time for remote links, whether it jpg or png or
whatever. While KIND_RASTER_IMAGE (another argument to check against) returns
16.
That's why all of that functions become inactive.

So, I have two notes for developers:

1) why do you disable that actions (including "save as") for non-raster images
at all (even if we forgot about that broken thing)? Why can't we "save as"
opened svg/eps/whatever file?

2) MimeTypeUtils->mimeTypeKind (lib/mimetypeutils.cpp line 130) gets
"application/octet-stream" as an argument (although, that is pretty strange,
since at least few servers I checked returns image/* content-type headers), and
after all checks it returns it's "default" value (KIND_FILE). So, that's why
`contextManager->currentUrlIsRasterImage` (lib/contextmanager.cpp line 263)
returns false.

So, as proper fix I'd suggest to:
1) get rid of all that mime checks for at least "save as" and related actions.
2) debug MimeUtils why the hell it gets octet-stream, and not the real mimetype
(to keep intended behaviour for rotating/etc actions for raster images only,
although, I personally would like ability to rotate vector images too :D).

For users:
As temporary solution, I'd suggest you to apply that patch (with patch -p1):
===  cut  ===
--- a/lib/contextmanager.cpp    2016-07-25 03:59:24.704428867 +0700
+++ b/lib/contextmanager.cpp    2016-07-25 03:59:02.582209995 +0700
@@ -263,7 +263,7 @@

 bool ContextManager::currentUrlIsRasterImage() const
 {
-    return MimeTypeUtils::urlKind(currentUrl()) ==
MimeTypeUtils::KIND_RASTER_IMAGE;
+    return MimeTypeUtils::urlKind(currentUrl()) !=
MimeTypeUtils::KIND_UNKNOWN;
 }

 QUrl ContextManager::urlToSelect() const
==== /cut ===

(in Gentoo — just put it in /etc/portage/patches/kde-apps/gwenview/ with any
name and ".patch" suffix)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to