@@ -23,12 +23,12 @@ namespace Sass {
23
23
24
24
Block_Ptr Cssize::operator ()(Block_Ptr b)
25
25
{
26
- Block_Ptr bb = SASS_MEMORY_NEW (Block, b->pstate (), b->length (), b->is_root ());
26
+ Block_Obj bb = SASS_MEMORY_NEW (Block, b->pstate (), b->length (), b->is_root ());
27
27
// bb->tabs(b->tabs());
28
28
block_stack.push_back (bb);
29
29
append_block (b, bb);
30
30
block_stack.pop_back ();
31
- return bb;
31
+ return bb. detach () ;
32
32
}
33
33
34
34
Statement_Ptr Cssize::operator ()(Trace_Ptr t)
@@ -259,7 +259,7 @@ namespace Sass {
259
259
tmp |= m->exclude_node (s);
260
260
}
261
261
262
- if (!tmp)
262
+ if (!tmp && m-> block () )
263
263
{
264
264
Block_Ptr bb = operator ()(m->block ());
265
265
for (size_t i = 0 , L = bb->length (); i < L; ++i) {
@@ -302,14 +302,17 @@ namespace Sass {
302
302
303
303
Statement_Ptr Cssize::bubble (At_Root_Block_Ptr m)
304
304
{
305
+ if (!m || !m->block ()) return NULL ;
305
306
Block_Ptr bb = SASS_MEMORY_NEW (Block, this ->parent ()->pstate ());
306
307
Has_Block_Obj new_rule = Cast<Has_Block>(SASS_MEMORY_COPY (this ->parent ()));
307
- new_rule->block (bb);
308
- new_rule->tabs (this ->parent ()->tabs ());
309
- new_rule->block ()->concat (m->block ());
310
-
311
308
Block_Ptr wrapper_block = SASS_MEMORY_NEW (Block, m->block ()->pstate ());
312
- wrapper_block->append (new_rule);
309
+ if (new_rule) {
310
+ new_rule->block (bb);
311
+ new_rule->tabs (this ->parent ()->tabs ());
312
+ new_rule->block ()->concat (m->block ());
313
+ wrapper_block->append (new_rule);
314
+ }
315
+
313
316
At_Root_Block_Ptr mm = SASS_MEMORY_NEW (At_Root_Block,
314
317
m->pstate (),
315
318
wrapper_block,
0 commit comments