Merge branch 'blender-v3.4-release'
This commit is contained in:
commit
dcfe4a302c
|
@ -44,7 +44,8 @@ bool wayland_dynload_client_init(const bool verbose)
|
|||
#define WAYLAND_DYNLOAD_IFACE(symbol) \
|
||||
{ \
|
||||
const void *symbol_val; \
|
||||
if (!(symbol_val = dynamic_library_find_with_error(lib, #symbol, paths[path_found]))) { \
|
||||
if (!(symbol_val = dynamic_library_find_with_error( \
|
||||
lib, #symbol, paths[path_found], verbose))) { \
|
||||
return false; \
|
||||
} \
|
||||
memcpy(&symbol, symbol_val, sizeof(symbol)); \
|
||||
|
@ -54,7 +55,7 @@ bool wayland_dynload_client_init(const bool verbose)
|
|||
|
||||
#define WAYLAND_DYNLOAD_FN(symbol) \
|
||||
if (!(wayland_dynload_client.symbol = dynamic_library_find_with_error( \
|
||||
lib, #symbol, paths[path_found]))) { \
|
||||
lib, #symbol, paths[path_found], verbose))) { \
|
||||
return false; \
|
||||
}
|
||||
#include "wayland_dynload_client.h"
|
||||
|
|
|
@ -36,7 +36,7 @@ bool wayland_dynload_cursor_init(const bool verbose)
|
|||
|
||||
#define WAYLAND_DYNLOAD_FN(symbol) \
|
||||
if (!(wayland_dynload_cursor.symbol = dynamic_library_find_with_error( \
|
||||
lib, #symbol, paths[path_index]))) { \
|
||||
lib, #symbol, paths[path_index], verbose))) { \
|
||||
return false; \
|
||||
}
|
||||
#include "wayland_dynload_cursor.h"
|
||||
|
|
|
@ -36,7 +36,7 @@ bool wayland_dynload_egl_init(const bool verbose)
|
|||
|
||||
#define WAYLAND_DYNLOAD_FN(symbol) \
|
||||
if (!(wayland_dynload_egl.symbol = dynamic_library_find_with_error( \
|
||||
lib, #symbol, paths[path_found]))) { \
|
||||
lib, #symbol, paths[path_found], verbose))) { \
|
||||
return false; \
|
||||
}
|
||||
#include "wayland_dynload_egl.h"
|
||||
|
|
|
@ -36,7 +36,7 @@ bool wayland_dynload_libdecor_init(const bool verbose)
|
|||
|
||||
#define WAYLAND_DYNLOAD_FN(symbol) \
|
||||
if (!(wayland_dynload_libdecor.symbol = dynamic_library_find_with_error( \
|
||||
lib, #symbol, paths[path_index]))) { \
|
||||
lib, #symbol, paths[path_index], verbose))) { \
|
||||
return false; \
|
||||
}
|
||||
#include "wayland_dynload_libdecor.h"
|
||||
|
|
|
@ -30,11 +30,16 @@ DynamicLibrary dynamic_library_open_array_with_error(const char **paths,
|
|||
return lib;
|
||||
}
|
||||
|
||||
void *dynamic_library_find_with_error(DynamicLibrary lib, const char *symbol, const char *path_lib)
|
||||
void *dynamic_library_find_with_error(DynamicLibrary lib,
|
||||
const char *symbol,
|
||||
const char *path_lib,
|
||||
const bool verbose)
|
||||
{
|
||||
void *symbol_var = dynamic_library_find(lib, symbol);
|
||||
if (symbol_var == NULL) {
|
||||
fprintf(stderr, "Unable to find '%s' in '%s'.\n", symbol, path_lib);
|
||||
if (verbose) {
|
||||
fprintf(stderr, "Unable to find '%s' in '%s'.\n", symbol, path_lib);
|
||||
}
|
||||
}
|
||||
return symbol_var;
|
||||
}
|
||||
|
|
|
@ -26,4 +26,5 @@ DynamicLibrary dynamic_library_open_array_with_error(const char **paths,
|
|||
/** Find a symbol, printing an error when the symbol isn't found. */
|
||||
void *dynamic_library_find_with_error(DynamicLibrary lib,
|
||||
const char *symbol,
|
||||
const char *path_lib);
|
||||
const char *path_lib,
|
||||
bool verbose);
|
||||
|
|
|
@ -1648,6 +1648,12 @@ static void editbmesh_build_data(struct Depsgraph *depsgraph,
|
|||
const bool is_mesh_eval_owned = (me_final != mesh->runtime->mesh_eval);
|
||||
BKE_object_eval_assign_data(obedit, &me_final->id, is_mesh_eval_owned);
|
||||
|
||||
/* Make sure that drivers can target shapekey properties.
|
||||
* Note that this causes a potential inconsistency, as the shapekey may have a
|
||||
* different topology than the evaluated mesh. */
|
||||
BLI_assert(mesh->key == nullptr || DEG_is_evaluated_id(&mesh->key->id));
|
||||
me_final->key = mesh->key;
|
||||
|
||||
obedit->runtime.editmesh_eval_cage = me_cage;
|
||||
|
||||
obedit->runtime.geometry_set_eval = non_mesh_components;
|
||||
|
|
Loading…
Reference in New Issue