bumptech / bumptech/glide

GlideImage no longer works with Modifier.weight()

Open
#5,385 0 comments 0 reactions 0 assignees View on GitHub
bug Compose
Dominant language
Java
Stars
35k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
8

Description

**Integration libraries**: `okhttp3-4.9.1`

**Device/Android version**: Pixel 4, Android 13

**Issue details / Repro steps / Use case background**:

I recently upgraded Glide from `4.15.1` to `5.0.0-rc01` and Glide Compose from `1.0.0-alpha.3` to `1.0.0-beta01`. Upon doing so, a few `GlideImage` usages throughout my app failed to load their image resources. They all happened to have weighted sizes. After the update, the size in `onSizeChanged()` returns `0x0` whereas previously the initial size would be `0x0` and subsequent size change would be non-zero once the weights were applied.

```
val imageSize = remember { mutableStateOf(IntSize.Zero) }
val placeholder = ColorDrawable(LocalContext.current.colorFromAttr(R.attr.some_color))
GlideImage(
modifier = Modifier
.weight(1f, false)
.then(
if (imageSize.value.width == 0) {
Modifier.onSizeChanged {
if (it.width != 0) imageSize.value = it
}
} else Modifier,
),
model = getSizedImageUrl(topStart, imageSize.value),
loading = placeholder(placeholder),
failure = placeholder(placeholder),
contentDescription = null,
)
```

I created a [demo project](https://github.com/ryandt/Glide-Image-Weight-Bug-Demo) to demonstrate the bug. The first commit is with Glide Compose `1.0.0-alpha.3` and weights working; the second commit is with Glide Compose `1.0.0-beta01` and weights not working.

Does anyone have any thoughts on what may have caused this change in behavior?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.