Page MenuHome

Duplicated previews for Matcaps and HDRI's if config folder is present
Closed, ResolvedPublic

Description

System Information
Windows 10 x64, AMD Radeon R9 390

Blender Version
Broken: Every 2.8 version
Worked: (optional)

Short description of error
When the user creates a config folder in the root folder containing Blender 2.8 all of the matcap and world preview images show up as duplicates.

Exact steps for others to reproduce the error
Extract Blender 2.8 (any version) to a folder on your computer -> Create a "config" folder inside the "2.80" folder as you would when creating a portable version of Blender -> Start Blender and open up the shading window in the 3D view and select a matcap/studio

Event Timeline

Philipp Oeser (lichtwerk) claimed this task.
Philipp Oeser (lichtwerk) triaged this task as Confirmed, Medium priority.

Confirmed, will have a look

Philipp Oeser (lichtwerk) closed this task as Invalid.

Hm, after checking, this is true only for portable builds (meaning that you create the config folder inside a locally extracted self contained blender)

That check for portable builds is here.
See also https://docs.blender.org/manual/en/dev/getting_started/installing/configuration/directories.html

If you do it like this, then

  • bpy.utils.user_resource('DATAFILES') / BKE_appdir_folder_id(BLENDER_USER_DATAFILES) will return the same path as the 'builtin' datapath (BKE_appdir_folder_id(BLENDER_SYSTEM_DATAFILES))... it's always LOCAL
  • blender cant really distinguish custom studiolights from the builtin studiolights, with bad consequences:
  • blender shows the builtin ones as custom ones in UserPreferences (you can also deinstall a builtin one and will be deleted without a chance to get it back)
  • blender will go over the same path twice and create sudiolights (as reported here)

That being said, if you put custom studiolights in the datafiles folder in your USER directory (instead of LOCAL -- see the manual again) and remove the config folder from the extracted location again, all should be fine and dandy...

Of course this could be worked around by introducing something like a "USER" folder inside the LOCAL datafiles folder, but I am unsure if this is against design (and worth the effort)

After all, I guess this is somewhat expected behavior and can be closed?
(unless @Brecht Van Lommel (brecht) or @Clément Foucault (fclem) have objections?)

Blender should not look in the same folder twice, I would consider that a bug. We just need to check if BLENDER_USER_DATAFILES and BLENDER_SYSTEM_DATAFILES return the same path, and if so only go over it once.