Diff
1diff --git a/flake.lock b/flake.lock
2index e7610a4ffdee80b18051155ed2bfa0079e7abf02..72bae96f02c5dccafde8ec2b29315176b25f8e1f 100644
3--- a/flake.lock
4+++ b/flake.lock
5@@ -16,11 +16,11 @@
6 ]
7 },
8 "locked": {
9- "lastModified": 1716327911,
10- "narHash": "sha256-PI+wygItS/TKzi4gEAROvKTUzTx9GT+PGBttS/IOA/Q=",
11+ "lastModified": 1717181720,
12+ "narHash": "sha256-yv+QZWsusu/NWjydkxixHC2g+tIJ9v+xkE2EiVpJj6g=",
13 "owner": "hyprwm",
14 "repo": "hyprcursor",
15- "rev": "27ca640abeef2d425b5dbecf804f5eb622cef56d",
16+ "rev": "9e27a2c2ceb1e0b85bd55b0afefad196056fe87c",
17 "type": "github"
18 },
19 "original": {
20@@ -39,11 +39,11 @@
21 "xdph": "xdph"
22 },
23 "locked": {
24- "lastModified": 1716491954,
25- "narHash": "sha256-Qf1mEPacXhhM5KFm7HG2F/UBfzkjSBK57gKquA5TAVY=",
26+ "lastModified": 1717970802,
27+ "narHash": "sha256-kFnaAmte/N1mrbHEQyrwDu9+laZzVAi4N2nQodCNfgg=",
28 "ref": "refs/heads/main",
29- "rev": "4e42107d25dc47ee94da282db233f85f1e4c6bd0",
30- "revCount": 4733,
31+ "rev": "1423707dbefc0329e80895451903a77ab684f7ea",
32+ "revCount": 4789,
33 "submodules": true,
34 "type": "git",
35 "url": "https://github.com/hyprwm/Hyprland"
36@@ -93,11 +93,11 @@
37 ]
38 },
39 "locked": {
40- "lastModified": 1715791527,
41- "narHash": "sha256-HhQ4zvGHrRjR63ltySSeg+x+0jb0lepiutWdnFhLRoo=",
42+ "lastModified": 1716473782,
43+ "narHash": "sha256-+qLn4lsHU6iL3+HTo1gTQ1tWzet8K9h+IfVemzEQZj8=",
44 "owner": "hyprwm",
45 "repo": "hyprlang",
46- "rev": "969cb076e5b76f2e823aeca1937a3e1f159812ee",
47+ "rev": "87d5d984109c839482b88b4795db073eb9ed446f",
48 "type": "github"
49 },
50 "original": {
51@@ -118,11 +118,11 @@
52 ]
53 },
54 "locked": {
55- "lastModified": 1716058375,
56- "narHash": "sha256-CwjWoVnBZE5SBpRx9dgSQGCr4Goxyfcyv3zZbOhVqzk=",
57+ "lastModified": 1717784906,
58+ "narHash": "sha256-YxmfxHfWed1fosaa7fC1u7XoKp1anEZU+7Lh/ojRKoM=",
59 "owner": "hyprwm",
60 "repo": "hyprwayland-scanner",
61- "rev": "3afed4364790aebe0426077631af1e164a9650cc",
62+ "rev": "0f30f9eca6e404130988554accbb64d1c9ec877d",
63 "type": "github"
64 },
65 "original": {
66@@ -133,11 +133,11 @@
67 },
68 "nixpkgs": {
69 "locked": {
70- "lastModified": 1716330097,
71- "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
72+ "lastModified": 1717602782,
73+ "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
74 "owner": "NixOS",
75 "repo": "nixpkgs",
76- "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2",
77+ "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
78 "type": "github"
79 },
80 "original": {
81diff --git a/src/TabGroup.cpp b/src/TabGroup.cpp
82index 86eb6791cd6115869b0705bcd27c2c23cf3c8f65..2d51f59cd914a15d0e2a53c90e775043cca3a565 100644
83--- a/src/TabGroup.cpp
84+++ b/src/TabGroup.cpp
85@@ -117,7 +117,7 @@ void Hy3TabBarEntry::prepareTexture(float scale, CBox& box) {
86
87 auto rounding = std::min((double) *s_rounding * scale, std::min(width * 0.5, height * 0.5));
88
89- if (this->texture.m_iTexID == 0
90+ if (this->texture->m_iTexID == 0
91 // clang-format off
92 || this->last_render.x != box.x
93 || this->last_render.y != box.y
94@@ -228,9 +228,9 @@ void Hy3TabBarEntry::prepareTexture(float scale, CBox& box) {
95 cairo_surface_flush(cairo_surface);
96
97 auto data = cairo_image_surface_get_data(cairo_surface);
98- this->texture.allocate();
99+ this->texture->allocate();
100
101- glBindTexture(GL_TEXTURE_2D, this->texture.m_iTexID);
102+ glBindTexture(GL_TEXTURE_2D, this->texture->m_iTexID);
103 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
104 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
105
106@@ -244,7 +244,7 @@ void Hy3TabBarEntry::prepareTexture(float scale, CBox& box) {
107 cairo_destroy(cairo);
108 cairo_surface_destroy(cairo_surface);
109 } else {
110- glBindTexture(GL_TEXTURE_2D, this->texture.m_iTexID);
111+ glBindTexture(GL_TEXTURE_2D, this->texture->m_iTexID);
112 }
113 }
114
115diff --git a/src/TabGroup.hpp b/src/TabGroup.hpp
116index 12117f35f90aa2c45e288cb6b94159abe39f908d..0fe1d950e846a7ad45508f85209f28644be19099 100644
117--- a/src/TabGroup.hpp
118+++ b/src/TabGroup.hpp
119@@ -15,7 +15,7 @@ class Hy3TabBar;
120 struct Hy3TabBarEntry {
121 std::string window_title;
122 bool destroying = false;
123- CTexture texture;
124+ SP<CTexture> texture;
125 CAnimatedVariable<float> focused;
126 CAnimatedVariable<float> urgent;
127 CAnimatedVariable<float> offset; // 0.0-1.0 of total bar