rodlie / qtfm

Qt File Manager
https://qtfm.eu
GNU General Public License v2.0
156 stars 43 forks source link

No icons in "change icon" list, crashes if try to save #155

Open frnco opened 4 years ago

frnco commented 4 years ago

I've tested on Arch inux, fully updated, did cleanBuild AND Reboot, plus tested a bunch of icon themes including hicolor and adwaita, though since the icons appear everywhere except on the list, and qtfm crashes qhen clicking on "save" in the list that should have the icon themes, I think it wasn't reeeeally necessary. Now for the details:

It happens on bot 6.2.0 release and "master" release (tar.gz using master instead of the version, downloads master), so it's using the basic release/build process. Here I included a screenshot of the icons list, plus pacman on the Right saying the icon themes are already installed (No need proly but hey, better safe than sorry). QtFM--IconsList

Happens when I try to change the icon of anything, anywhere. Also, if I click "save" on the icon list, it crashes: QtFMCrash

It DOES NOT HAPPEN when I run qtfm as sudo, which indicates it's either a problem with permissions or configurations, though I do not remember changing anything that could be relevant.

I tried to but couldn't find a way to set log level to debug/verbose:

[user]@[Computer] ~> qtfm --verbose
fish: “qtfm --verbose” terminated by signal SIGSEGV (Address boundary error)
[user]@[Computer] ~ [139]> qtfm --debug
fish: “qtfm --debug” terminated by signal SIGSEGV (Address boundary error)
[user]@[Computer] ~ [139]> qtfm -d
fish: “qtfm -d” terminated by signal SIGSEGV (Address boundary error)
[user]@[Computer] ~ [139]> qtfm -v
fish: “qtfm -v” terminated by signal SIGSEGV (Address boundary error)
[user]@[Computer] ~ [139]> 

The [139] thinggie is the status returned by the previous program you ran, so qtfm is returning status 139, if that helps.

I can debug and maybe even help with a pull request, though I'm not a Qt guy (Mostly web and CLI here), I just need some pointes on how to do it.

Edit: Thought it'd be nice to include the PKGBUILD: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=qtfm

I believe the key points would be:

build() {
  cd $pkgname-${pkgver//_/-}
  [[ -d build ]] || mkdir build
  cd build
  qmake CONFIG+=release PREFIX=/usr ..
  make
}

package() {
  cd $pkgname-${pkgver//_/-}/build
  make INSTALL_ROOT="$pkgdir" install
}

I can change anything in the PKGbuild to build with flags or arguments or whatever, so if that could help, just tell me what to change.

Thanks in advance.

frnco commented 4 years ago

After some other tests noticed:

  1. The Icons from the 'Fallback icon theme" are completely ignored
  2. Some Icon Themes are broken, whitle others work
  3. The Icons I got to work, besides me having to change the Icons for the whole gnome-shell, which needs gnome-tweak-gool and is kind of a pain, had different subfolders on their installed files:
[root@[Hostname] ~]# ls  -f /usr/share/icons/{Adwaita,Faenza-Radiance}
/usr/share/icons/Adwaita:
32x32  256x256  96x96  64x64  16x16  icon-theme.cache  512x512  index.theme  8x8  .  ..  48x48  22x22  24x24  scalable-up-to-32  scalable  cursors

/usr/share/icons/Faenza-Radiance:
status  icon-theme.cache  index.theme  stock  .  ..
[root@[Hostname] ~]# 

This makes me guess it could be a bug with either libfm/iconlist.cpp or with QIcon itself, and/or that it could relate to the presence of stock and status folders.... But again, I'm not a Qt guy.

Hope this helps.

rodlie commented 4 years ago

Will test, thanks for the report.